From e2060a1460b8d9e4a228903d0601bdc5809aff83 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:03:29 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClinicalData/ClinicalAnswerService.cs | 25 +++++++++++++++++-- .../Service/Reading/Dto/ClinicalAnswerDto.cs | 4 +++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index eb8338e15..a57ad22b6 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -409,13 +409,34 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Ok(true); } - /// - /// 获取CRC确认列表 + /// 删除表单数据 /// /// /// + /// [HttpPost] + public async Task DeleteClinicalForm(DeleteClinicalFormInDto inDto) + { + + if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId)) + { + throw new BusinessValidationFailedException("当前表单已确认,无法删除!"); + } + + await _clinicalFormRepository.BatchDeleteNoTrackingAsync(x => x.Id == inDto.ClinicalFormId); + await _clinicalQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId); + await _clinicalAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId); + await _clinicalTableAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId); + return ResponseOutput.Ok(true); + } + + /// + /// 获取CRC确认列表 + /// + /// + /// + [HttpPost] public async Task> GetCRCConfirmList(GetCRCConfirmListInDto inDto) { List result = await _readModuleRepository.Where(x => x.TrialId == inDto.TrialId) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index 4e125fd93..b7807b8fb 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -161,6 +161,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } } + public class DeleteClinicalFormInDto + { + public Guid ClinicalFormId { get; set; } + } public class SubmitClinicalFormInDto { /// From 04811681a33fa7b26aca5df1a94b30612347baa3 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:11:44 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index a57ad22b6..2b9541276 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -264,7 +264,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - public async Task GetClinicalFormInfo(GetClinicalFormInfoInDto inDto) + public async Task> GetClinicalFormInfo(GetClinicalFormInfoInDto inDto) { var formInfo = await _clinicalFormRepository.Where(x => x.Id == inDto.ClinicalFormId).FirstNotNullAsync(); @@ -296,11 +296,7 @@ namespace IRaCIS.Core.Application.Service _iClinicalQuestionService.FindChildQuestion(x, questions, tableQuestions, questionAnswer, tableAnswer); }); - return new GetClinicalFormInfoOutDto() - { - - Question = result - }; + return result; } From bb871a32fd411eaa18541498f3c1304534d99e6d Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:19:56 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 4 +++- .../Service/Reading/Dto/ClinicalAnswerDto.cs | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 2b9541276..6fb338754 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -252,7 +252,9 @@ namespace IRaCIS.Core.Application.Service { var dic = answers.Where(y => y.ClinicalFormId == x).ToDictionary(x => x.QuestionId.ToString(), x => x.Answer); dic.Add("clinicalFormId", x.ToString()); - result.AnswerList.Add(dic); + dic.Add("trialId", inDto.TrialId.ToString()); + dic.Add("subjectId", inDto.SubjectId.ToString()); + result.AnswerList.Add(dic); }); return result; diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index b7807b8fb..b8d869bb2 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -57,7 +57,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid SubjectId { get; set; } - public Guid ClinicalDataTrialSetId { get; set; } + + public Guid TrialId { get; set; } + + public Guid ClinicalDataTrialSetId { get; set; } } From e9e083d9ee3ee0bf051aef622ab25c22f86e6cf0 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:25:01 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 6fb338754..0c8aad5ac 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -287,7 +287,7 @@ namespace IRaCIS.Core.Application.Service var questions = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == formInfo.ClinicalDataTrialSetId) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - var tableQuestions = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == formInfo.ClinicalDataTrialSetId) + var tableQuestions = await _trialClinicalTableQuestionRepository.Where(x => x.TrialClinicalId == formInfo.ClinicalDataTrialSetId) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); From 9a51c7a3b6a2658aa86a64d932a2bc12d62e6150 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:34:59 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 0c8aad5ac..eb8079ed7 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -254,6 +254,8 @@ namespace IRaCIS.Core.Application.Service dic.Add("clinicalFormId", x.ToString()); dic.Add("trialId", inDto.TrialId.ToString()); dic.Add("subjectId", inDto.SubjectId.ToString()); + dic.Add("trialClinicalId", inDto.ClinicalDataTrialSetId.ToString()); + result.AnswerList.Add(dic); }); From 849c0be13d31755bd7d868bba8c8a7d9646c126f Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:42:45 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index eb8079ed7..69bc25c1d 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -254,7 +254,7 @@ namespace IRaCIS.Core.Application.Service dic.Add("clinicalFormId", x.ToString()); dic.Add("trialId", inDto.TrialId.ToString()); dic.Add("subjectId", inDto.SubjectId.ToString()); - dic.Add("trialClinicalId", inDto.ClinicalDataTrialSetId.ToString()); + dic.Add("clinicalDataTrialSetId", inDto.ClinicalDataTrialSetId.ToString()); result.AnswerList.Add(dic); From 2ee115a47d631e36514be8bad8a2ba25006defe7 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 14:48:05 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ClinicalData/ClinicalAnswerService.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 69bc25c1d..7edef6259 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -251,10 +251,10 @@ namespace IRaCIS.Core.Application.Service ClinicalFormIds.ForEach(x => { var dic = answers.Where(y => y.ClinicalFormId == x).ToDictionary(x => x.QuestionId.ToString(), x => x.Answer); - dic.Add("clinicalFormId", x.ToString()); - dic.Add("trialId", inDto.TrialId.ToString()); - dic.Add("subjectId", inDto.SubjectId.ToString()); - dic.Add("clinicalDataTrialSetId", inDto.ClinicalDataTrialSetId.ToString()); + dic.Add("ClinicalFormId", x.ToString()); + dic.Add("TrialId", inDto.TrialId.ToString()); + dic.Add("SubjectId", inDto.SubjectId.ToString()); + dic.Add("ClinicalDataTrialSetId", inDto.ClinicalDataTrialSetId.ToString()); result.AnswerList.Add(dic); From f2dee26cdb50c1eabbc485934a0d86075fa04b6c Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 3 Jul 2023 15:58:47 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Service/QC/QCOperationService.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 2f382f67a..1a9e7f4e5 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1204,7 +1204,12 @@ namespace IRaCIS.Core.Application.Image.QA // CRC 上传的基线数据签名 - await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ReadingId == dbSubjectVisit.Id && x.IsSign==false, x => new ReadingClinicalData() + await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(x => + + (x.ClinicalDataTrialSet.ClinicalDataLevel== ClinicalLevel.Subject|| x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit)&& + + + x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ReadingId == dbSubjectVisit.Id && x.IsSign==false, x => new ReadingClinicalData() { IsSign = true, ReadingClinicalDataState = ReadingClinicalDataStatus.HaveSigned