From e0ebd083b9a22c22cfa00b438eb9bdeafb3e24b7 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 23 Aug 2023 09:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE=E8=B4=A8?= =?UTF-8?q?=E8=AF=A2=20=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=9A=84=E8=A1=A8?= =?UTF-8?q?=E5=92=8C=E5=9B=9E=E5=A4=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 21 +++++++++ .../Allocation/DTO/VisitTaskViewModel.cs | 7 +++ .../Service/Allocation/VisitTaskService.cs | 22 +++++++++ .../Visit/SubjectVisitClinicalDialog.cs | 46 +++++++++++++++++++ .../Context/IRaCISDBContext.cs | 1 + 5 files changed, 97 insertions(+) create mode 100644 IRaCIS.Core.Domain/Visit/SubjectVisitClinicalDialog.cs diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index bea106462..04ecd8ab4 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -531,6 +531,27 @@ PublishLogService + + + 影像质控 + + + + + + + QC质疑 + + + + + + + 影像质疑 + + + + TrialEmailNoticeConfigService diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index 6835c7495..a7416ade2 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -457,6 +457,13 @@ namespace IRaCIS.Core.Application.ViewModel public Guid VisitTaskId { get; set; } } + public class ClinicalDataDialog + { + public Guid Id { get; set; } + public DateTime CreateTime { get; set; } + public Guid Content { get; set; } + } + public class PIAuditDialogListView : PIAuditTaskCommand { diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 80167909a..ceb2f91f3 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -329,6 +329,28 @@ namespace IRaCIS.Core.Application.Service.Allocation } + public async Task AddClinicalDataDialog(Guid visiTaskId, string content, + [FromServices] IRepository subjectVisitClinicalDialogRepository, + [FromServices] IEmailSendService emailSendService) + { + var taskInfo = await _visitTaskRepository.Where(t => t.Id == visiTaskId).Select(t => new { t.SourceSubjectVisitId, t.Subject.Code, t.SourceSubjectVisit.VisitName, t.Trial.ResearchProgramNo, t.Trial.TrialCode }).FirstOrDefaultAsync(); + + await subjectVisitClinicalDialogRepository.AddAsync(new SubjectVisitClinicalDialog() { SubjectVisitId = (Guid)taskInfo.SourceSubjectVisitId, Content = content }, true); + + + await emailSendService.SendClinicalDataQuestionAsync(visiTaskId, content); + + return ResponseOutput.Ok(); + } + + public async Task> GetClinicalDataDialog(Guid visiTaskId, + [FromServices] IRepository _subjectVisitClinicalDialogRepository) + { + var subjectVisitId= await _visitTaskRepository.Where(t => t.Id == visiTaskId).Select(t=>t.SourceSubjectVisitId).FirstOrDefaultAsync(); + var list = _subjectVisitClinicalDialogRepository.Where(t => t.SubjectVisitId == subjectVisitId).ProjectTo(_mapper.ConfigurationProvider).OrderByDescending(t => t.CreateTime).ToList(); + + return list; + } /// diff --git a/IRaCIS.Core.Domain/Visit/SubjectVisitClinicalDialog.cs b/IRaCIS.Core.Domain/Visit/SubjectVisitClinicalDialog.cs new file mode 100644 index 000000000..9c1ac37cb --- /dev/null +++ b/IRaCIS.Core.Domain/Visit/SubjectVisitClinicalDialog.cs @@ -0,0 +1,46 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-08-22 16:56:15 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///SubjectVisitClinicalDialog + /// + [Table("SubjectVisitClinicalDialog")] + public class SubjectVisitClinicalDialog : Entity, IAuditAdd + { + + + /// + /// SubjectVisitId + /// + [Required] + public Guid SubjectVisitId { get; set; } + + /// + /// CreateUserId + /// + [Required] + public Guid CreateUserId { get; set; } + + /// + /// CreateTime + /// + [Required] + public DateTime CreateTime { get; set; } + + /// + /// Content + /// + [Required] + public string Content { get; set; } + + } + +} diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 9ee673fbd..89b628dd9 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -482,6 +482,7 @@ namespace IRaCIS.Core.Infra.EFCore public virtual DbSet PublishLog { get; set; } public virtual DbSet UserLog { get; set; } + public virtual DbSet SubjectVisitClinicalDialog { get; set; }