From 88117a84f7d45bdaac1737eb852cd8a15064bf5a Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 13 Apr 2022 17:51:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InspectionController.cs | 28 +++++++++++-------- .../Service/Inspection/DTO/InspectionModel.cs | 8 +++++- .../Service/Inspection/InspectionService.cs | 4 +-- .../Service/QC/ClinicalDataService.cs | 6 ++-- .../Service/QC/DTO/NoneDicomStudyViewModel.cs | 6 ++++ .../QC/Interface/IClinicalDataService.cs | 6 ++-- .../QC/Interface/INoneDicomStudyService.cs | 2 +- .../Service/QC/NoneDicomStudyService.cs | 10 +++++-- .../Service/QC/QCOperationService.cs | 1 + IRaCIS.Core.Domain/Trial/DataInspection.cs | 5 ++++ 10 files changed, 52 insertions(+), 24 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 7392a72ec..ee07f13c4 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -120,6 +120,7 @@ namespace IRaCIS.Core.API.Controllers { return ResponseOutput.NotOk(fun.ErrorMessage); } + return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo,null, fun); } @@ -155,10 +156,11 @@ namespace IRaCIS.Core.API.Controllers if (opt.OptCommand.Id == null) { Dictionary keyValuePairs = new Dictionary(); - keyValuePairs.Add("CodeView", fun.Data); + keyValuePairs.Add("CodeView", fun.Data.StudyCode); opt.AuditInfo.JsonDetail = _inspectionService.AddJsonItem(opt.AuditInfo.JsonDetail, keyValuePairs); } + opt.AuditInfo.GeneralId = fun.Data.Id; return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo,null, fun); } @@ -173,6 +175,7 @@ namespace IRaCIS.Core.API.Controllers public async Task DeleteNoneDicomStudy(DataInspectionDto opt) { var fun = _noneDicomStudyService.DeleteNoneDicomStudy; + opt.AuditInfo.GeneralId = opt.OptCommand.Id; return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun); } @@ -188,6 +191,7 @@ namespace IRaCIS.Core.API.Controllers public async Task deleteNoneDicomStudyFile(DataInspectionDto opt) { var fun = _noneDicomStudyService.DeleteNoneDicomStudyFile; + opt.AuditInfo.GeneralId = opt.OptCommand.Id; return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun); } @@ -204,9 +208,9 @@ namespace IRaCIS.Core.API.Controllers [UnitOfWork] public async Task AddOrUpdatePreviousHistory(DataInspectionDto opt) { - - var fun = _clinicalDataService.AddOrUpdatePreviousHistory; - return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, fun); + var fun = await _clinicalDataService.AddOrUpdatePreviousHistory(opt.OptCommand); + opt.AuditInfo.GeneralId = fun.Data; + return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo,null, fun); } @@ -220,6 +224,7 @@ namespace IRaCIS.Core.API.Controllers public async Task DeletePreviousHistory(DataInspectionDto opt) { var fun = _clinicalDataService.DeletePreviousHistory; + opt.AuditInfo.GeneralId = opt.OptCommand.Id; return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun); } @@ -235,9 +240,9 @@ namespace IRaCIS.Core.API.Controllers [UnitOfWork] public async Task AddOrUpdatePreviousSurgery(DataInspectionDto opt) { - - var fun = _clinicalDataService.AddOrUpdatePreviousSurgery; - return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, fun); + var fun = await _clinicalDataService.AddOrUpdatePreviousSurgery(opt.OptCommand); + opt.AuditInfo.GeneralId = fun.Data; + return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo,null, fun); } @@ -250,8 +255,8 @@ namespace IRaCIS.Core.API.Controllers [UnitOfWork] public async Task DeletePreviousSurgery(DataInspectionDto opt) { - var fun = _clinicalDataService.DeletePreviousSurgery; + opt.AuditInfo.GeneralId = opt.OptCommand.Id; return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun); } @@ -265,9 +270,9 @@ namespace IRaCIS.Core.API.Controllers [UnitOfWork] public async Task AddOrUpdatePreviousOther(DataInspectionDto opt) { - - var fun = _clinicalDataService.AddOrUpdatePreviousOther; - return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, fun); + var fun = await _clinicalDataService.AddOrUpdatePreviousOther(opt.OptCommand); + opt.AuditInfo.GeneralId = fun.Data; + return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo,null, fun); } @@ -282,6 +287,7 @@ namespace IRaCIS.Core.API.Controllers { var fun = _clinicalDataService.DeletePreviousOther; + opt.AuditInfo.GeneralId = opt.OptCommand.Id; return await _inspectionService.Enforcement(opt.OptCommand.Id, opt.AuditInfo, opt.SignInfo, fun); } #endregion diff --git a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs index cc8c44721..cd0b57fbe 100644 --- a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs +++ b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs @@ -95,7 +95,13 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO /// 访视计划ID /// public Guid? VisitStageId { get; set; } - + + + /// + /// 通用ID + /// + public Guid? GeneralId { get; set; } + ////需要单独处理 diff --git a/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs b/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs index 4a4fb03e7..f68862ee1 100644 --- a/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs +++ b/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs @@ -278,7 +278,7 @@ namespace IRaCIS.Core.Application.Service.Inspection await SetEnum(addDto); var add = _mapper.Map(addDto); Guid? parentId = null; - parentId = (await _repository.GetQueryable().Where( x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId&&x.ChildrenType==add.ChildrenType && x.ObjectType==add.ObjectType&&x.VisitStageId==add.VisitStageId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id; + parentId = (await _repository.GetQueryable().Where( x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId&&x.ChildrenType==add.ChildrenType && x.ObjectType==add.ObjectType&&x.VisitStageId==add.VisitStageId&&x.GeneralId==add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id; add.ParentId = parentId; add.CreateTime = DateTime.Now; add.CreateUserId = _userInfo.Id; @@ -319,7 +319,7 @@ namespace IRaCIS.Core.Application.Service.Inspection foreach (var add in datas) { - add.ParentId = (await _repository.GetQueryable().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.ChildrenType == add.ChildrenType && x.ObjectType == add.ObjectType&&x.VisitStageId==add.VisitStageId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id; + add.ParentId = (await _repository.GetQueryable().Where(x => x.TrialId == add.TrialId && x.SubjectVisitId == add.SubjectVisitId && x.SubjectId == add.SubjectId && x.SiteId == add.SiteId && x.ChildrenType == add.ChildrenType && x.ObjectType == add.ObjectType&&x.VisitStageId==add.VisitStageId&& x.GeneralId == add.GeneralId).OrderByDescending(x => x.CreateTime).FirstOrDefaultAsync())?.Id; add.CreateUserId = _userInfo.Id; add.IP = _userInfo.IP; await SetInspectionNameValue(add); diff --git a/IRaCIS.Core.Application/Service/QC/ClinicalDataService.cs b/IRaCIS.Core.Application/Service/QC/ClinicalDataService.cs index 13e4776b7..dcf5c5639 100644 --- a/IRaCIS.Core.Application/Service/QC/ClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/QC/ClinicalDataService.cs @@ -155,7 +155,7 @@ namespace IRaCIS.Core.Application.Contracts } [HttpPost("{trialId:guid}")] - public async Task AddOrUpdatePreviousHistory(PreviousHistoryAddOrEdit addOrEditPreviousHistory) + public async Task> AddOrUpdatePreviousHistory(PreviousHistoryAddOrEdit addOrEditPreviousHistory) { var entity = await _previousHistoryRepository.InsertOrUpdateAsync(addOrEditPreviousHistory, true); @@ -180,7 +180,7 @@ namespace IRaCIS.Core.Application.Contracts [HttpPost("{trialId:guid}")] - public async Task AddOrUpdatePreviousOther(PreviousOtherAddOrEdit addOrEditPreviousOther) + public async Task> AddOrUpdatePreviousOther(PreviousOtherAddOrEdit addOrEditPreviousOther) { var entity = await _previousOtherRepository.InsertOrUpdateAsync(addOrEditPreviousOther, true); return ResponseOutput.Ok(entity.Id); @@ -205,7 +205,7 @@ namespace IRaCIS.Core.Application.Contracts } [HttpPost("{trialId:guid}")] - public async Task AddOrUpdatePreviousSurgery(PreviousSurgeryAddOrEdit addOrEditPreviousSurgery) + public async Task> AddOrUpdatePreviousSurgery(PreviousSurgeryAddOrEdit addOrEditPreviousSurgery) { var entity = await _previousSurgeryRepository.InsertOrUpdateAsync(addOrEditPreviousSurgery, true); diff --git a/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyViewModel.cs index 920e37a81..df83cb0a4 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyViewModel.cs @@ -63,6 +63,12 @@ namespace IRaCIS.Core.Application.Contracts } + public class NoneDicomStudyAddReturnDto + { + public Guid Id{ get; set; } + public string StudyCode { get; set; } = string.Empty; + } + } diff --git a/IRaCIS.Core.Application/Service/QC/Interface/IClinicalDataService.cs b/IRaCIS.Core.Application/Service/QC/Interface/IClinicalDataService.cs index ae4b81cc1..41f154571 100644 --- a/IRaCIS.Core.Application/Service/QC/Interface/IClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/QC/Interface/IClinicalDataService.cs @@ -12,10 +12,10 @@ namespace IRaCIS.Core.Application.Contracts { public interface IClinicalDataService { - Task AddOrUpdatePreviousHistory(PreviousHistoryAddOrEdit addOrEditPreviousHistory); - Task AddOrUpdatePreviousOther(PreviousOtherAddOrEdit addOrEditPreviousOther); + Task> AddOrUpdatePreviousHistory(PreviousHistoryAddOrEdit addOrEditPreviousHistory); + Task> AddOrUpdatePreviousOther(PreviousOtherAddOrEdit addOrEditPreviousOther); Task AddOrUpdatePreviousPDF(PreviousPDFAddOrEdit addOrEditPreviousPDF); - Task AddOrUpdatePreviousSurgery(PreviousSurgeryAddOrEdit addOrEditPreviousSurgery); + Task> AddOrUpdatePreviousSurgery(PreviousSurgeryAddOrEdit addOrEditPreviousSurgery); Task DeletePreviousHistory(Guid previousHistoryId); Task DeletePreviousOther(Guid previousOtherId); Task DeletePreviousPDF(Guid previousPDFId); diff --git a/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs index aa7115d49..633f6a49f 100644 --- a/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs @@ -12,7 +12,7 @@ namespace IRaCIS.Core.Application.Contracts { public interface INoneDicomStudyService { - Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy); + Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy); Task DeleteNoneDicomStudy(Guid noneDicomStudyId); Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId); Task> GetNoneDicomStudyFileList(Guid noneDicomStudyId); diff --git a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs index 7098cf151..08fc3217a 100644 --- a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs @@ -55,7 +55,7 @@ namespace IRaCIS.Core.Application.Contracts [UnitOfWork] [TypeFilter(typeof(TrialResourceFilter))] - public async Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy) + public async Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy) { var entity = await _noneDicomStudyRepository.InsertOrUpdateAsync(addOrEditNoneDicomStudy, false); @@ -89,8 +89,12 @@ namespace IRaCIS.Core.Application.Contracts await _repository.SaveChangesAsync(); - - return ResponseOutput.Ok(entity.StudyCode); + NoneDicomStudyAddReturnDto noneDicom = new NoneDicomStudyAddReturnDto() + { + StudyCode= entity.StudyCode, + Id= entity.Id + }; + return ResponseOutput.Ok(noneDicom); } diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 69021e5f6..3e5ce20b1 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -965,6 +965,7 @@ namespace IRaCIS.Core.Application.Image.QA SubjectId = x.SubjectId, TrialId = x.TrialId, SubjectVisitId=x.SubjectVisitId, + GeneralId=x.Id, JsonDetail = JsonConvert.SerializeObject(new { studyUid=x.StudyCode, diff --git a/IRaCIS.Core.Domain/Trial/DataInspection.cs b/IRaCIS.Core.Domain/Trial/DataInspection.cs index 3867e50f8..a518f0d08 100644 --- a/IRaCIS.Core.Domain/Trial/DataInspection.cs +++ b/IRaCIS.Core.Domain/Trial/DataInspection.cs @@ -154,6 +154,11 @@ namespace IRaCIS.Core.Domain.Models /// public Guid? VisitStageId { get; set; } + + /// + /// 通用Id + /// + public Guid? GeneralId { get; set; } }