diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 9dd479b22..6601f2281 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1465,6 +1465,36 @@
答案
+
+
+ 是否有问题
+
+
+
+
+ 质询问题
+
+
+
+
+ 图片路径
+
+
+
+
+ 审核建议
+
+
+
+
+ 是否完成
+
+
+
+
+ 是否关闭
+
+
是否有问题
@@ -2272,6 +2302,26 @@
+
+
+ 保存医学审核问题
+
+
+
+
+
+ 保存医学审核信息
+
+
+
+
+
+
+ 发送对话消息
+
+
+
+
医学审核问题
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs
index 5991f6699..9106e2658 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs
@@ -9,12 +9,21 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
+ public class SendMedicalReviewDialogInDto
+ {
+ public Guid TaskMedicalReviewId { get; set; }
+
+ public Guid VisitTaskId { get; set; }
+
+ public string Content { get; set; }
+ }
public class SaveMedicineQuestionInDto
{
public Guid TaskMedicalReviewId { get; set; }
public Guid VisitTaskId { get; set; }
+
public List QuestionAnswerList { get; set; }
}
@@ -55,8 +64,46 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
+
+ public class SaveMedicalReviewInfoInDto
+ {
+ public Guid TaskMedicalReviewId { get; set; }
+
+
+ ///
+ /// 是否有问题
+ ///
+ public bool IsHaveQuestion { get; set; } = false;
+
+ ///
+ /// 质询问题
+ ///
+ public string Questioning { get; set; } = string.Empty;
+
+ ///
+ /// 图片路径
+ ///
+ public string ImagePath { get; set; } = string.Empty;
+
+ ///
+ /// 审核建议
+ ///
+ public AuditAdvice AuditAdviceEnum { get; set; }
+
+ ///
+ /// 是否完成
+ ///
+ public bool IsFinish { get; set; }
+
+ ///
+ /// 是否关闭
+ ///
+ public bool IsClosed { get; set; }
+ }
+
public class MedicalReviewInfo
{
+ public Guid TaskMedicalReviewId { get; set; }
public Guid VisitTaskId { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs
index 8ee23be79..1d6b20a16 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs
@@ -22,6 +22,7 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository _trialRepository;
private readonly IRepository _visitTaskRepository;
private readonly IRepository _taskMedicalReviewRepository;
+ private readonly IRepository _readingMedicalReviewDialogRepository;
private readonly IRepository _readingMedicineQuestionAnswerRepository;
private readonly IRepository _readingMedicineSystemQuestionRepository;
@@ -30,6 +31,7 @@ namespace IRaCIS.Core.Application.Service
IRepository trialRepository,
IRepository visitTaskRepository,
IRepository taskMedicalReviewRepository,
+ IRepository readingMedicalReviewDialogRepository,
IRepository readingMedicineQuestionAnswerRepository,
IRepository readingMedicineSystemQuestionRepository
)
@@ -38,6 +40,7 @@ namespace IRaCIS.Core.Application.Service
this._trialRepository = trialRepository;
this._visitTaskRepository = visitTaskRepository;
this._taskMedicalReviewRepository = taskMedicalReviewRepository;
+ this._readingMedicalReviewDialogRepository = readingMedicalReviewDialogRepository;
this._readingMedicineQuestionAnswerRepository = readingMedicineQuestionAnswerRepository;
this._readingMedicineSystemQuestionRepository = readingMedicineSystemQuestionRepository;
}
@@ -191,16 +194,74 @@ namespace IRaCIS.Core.Application.Service
}
}
- /////
- ///// 保存医学审核问题
- /////
- /////
- //[HttpPost]
- //public async Task SaveMedicineQuestion(SaveMedicineQuestionInDto inDto)
- //{
- // await _readingMedicineQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.TaskMedicalReviewId == inDto.TaskMedicalReviewId);
+ ///
+ /// 保存医学审核问题
+ ///
+ ///
+ [HttpPost]
+ public async Task SaveMedicineQuestion(SaveMedicineQuestionInDto inDto)
+ {
+ await _readingMedicineQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.TaskMedicalReviewId == inDto.TaskMedicalReviewId);
- //}
+ List questionAnswerList = inDto.QuestionAnswerList.Select(x => new ReadingMedicineQuestionAnswer()
+ {
+ Answer = x.Answer,
+ ReadingMedicineQuestionId = x.MedicineQuestionId,
+ TaskMedicalReviewId = inDto.TaskMedicalReviewId,
+ VisitTaskId = inDto.VisitTaskId,
+
+ }).ToList();
+
+ await _readingMedicineQuestionAnswerRepository.AddRangeAsync(questionAnswerList);
+
+ var result = await _readingMedicineQuestionAnswerRepository.SaveChangesAsync();
+
+ return ResponseOutput.Result(result);
+
+ }
+
+ ///
+ /// 保存医学审核信息
+ ///
+ ///
+ ///
+ public async Task SaveMedicalReviewInfo(SaveMedicalReviewInfoInDto inDto)
+ {
+ await _taskMedicalReviewRepository.UpdatePartialFromQueryAsync(inDto.TaskMedicalReviewId, x => new TaskMedicalReview()
+ {
+ IsHaveQuestion = inDto.IsHaveQuestion,
+ Questioning = inDto.Questioning,
+ ImagePath = inDto.ImagePath,
+ AuditAdviceEnum = inDto.AuditAdviceEnum,
+ IsFinish = inDto.IsFinish,
+ IsClosed = inDto.IsClosed
+ });
+
+ var result = await _taskMedicalReviewRepository.SaveChangesAsync();
+ return ResponseOutput.Result(result);
+ }
+
+ ///
+ /// 发送对话消息
+ ///
+ ///
+ ///
+ public async Task SendMedicalReviewDialog(SendMedicalReviewDialogInDto inDto)
+ {
+ ReadingMedicalReviewDialog dialog = new ReadingMedicalReviewDialog()
+ {
+ TaskMedicalReviewId = inDto.TaskMedicalReviewId,
+ UserTypeShortName = _userInfo.UserTypeShortName,
+ Content = inDto.Content,
+ UserTypeEnumInt = _userInfo.UserTypeEnumInt,
+ VisitTaskId = inDto.VisitTaskId,
+ };
+
+ await _readingMedicalReviewDialogRepository.AddAsync(dialog);
+
+ var result=await _readingMedicalReviewDialogRepository.SaveChangesAsync();
+ return ResponseOutput.Result(result);
+ }
}
}
diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
index f86ea0520..8f757fb7f 100644
--- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
@@ -93,7 +93,8 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
- CreateMap();
+ CreateMap()
+ .ForMember(x => x.TaskMedicalReviewId, y => y.MapFrom(n => n.Id));
#endregion