修改一版

Uat_Study
he 2022-07-07 15:15:50 +08:00
parent e85a397148
commit ae6b4c6892
4 changed files with 68 additions and 9 deletions

View File

@ -0,0 +1,16 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-06-07 14:10:49
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Application.ViewModel;
namespace IRaCIS.Core.Application.Service
{
public interface IVisitTaskService
{
Task<IResponseOutput> ApplyReReading(ApplyReReadingCommand applyReReadingCommand);
}
}

View File

@ -20,7 +20,7 @@ namespace IRaCIS.Core.Application.Service
/// 访视读片任务
/// </summary>
[ApiExplorerSettings(GroupName = "Trial")]
public class VisitTaskService : BaseService
public class VisitTaskService : BaseService, IVisitTaskService
{
private readonly IRepository<VisitTask> _visitTaskRepository;
@ -990,12 +990,7 @@ namespace IRaCIS.Core.Application.Service
//产生新的任务
#region 重阅修改医学审核状态
await _taskMedicalReviewRepository.BatchUpdateNoTrackingAsync(x => x.IsClosedDialog && applyReReadingCommand.TaskIdList.Contains(x.VisitTaskId), x => new TaskMedicalReview()
{
IsClosedDialog = true
});
#endregion
await _visitTaskRepository.SaveChangesAsync();

View File

@ -183,6 +183,20 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
[NotDefault]
public Guid TaskMedicalReviewId { get; set; }
}
public class ApplyReReadingInDto: SendMedicalReviewDialogInDto
{
public Guid TrialId { get; set; }
public bool IsCopyOrigenalForms { get; set; }
public RequestReReadingType RequestReReadingType { get; set; }
public string RequestReReadingReason { get; set; } = string.Empty;
}
public class SendMedicalReviewDialogInDto
{
public Guid TaskMedicalReviewId { get; set; }

View File

@ -24,6 +24,7 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<User> _userTaskRepository;
private readonly IVisitTaskService _visitTaskService;
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
private readonly IRepository<ReadingMedicalReviewDialog> _readingMedicalReviewDialogRepository;
private readonly IRepository<ReadingMedicineQuestionAnswer> _readingMedicineQuestionAnswerRepository;
@ -33,9 +34,10 @@ namespace IRaCIS.Core.Application.Service
IRepository<ReadingMedicineTrialQuestion> readingMedicineTrialQuestionRepository,
IRepository<Trial> trialRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<User> userTaskRepository,
IRepository<User> userTaskRepository,
IVisitTaskService visitTaskService,
IRepository<TaskMedicalReview> taskMedicalReviewRepository,
IRepository<ReadingMedicalReviewDialog> readingMedicalReviewDialogRepository,
IRepository<ReadingMedicalReviewDialog> readingMedicalReviewDialogRepository,
IRepository<ReadingMedicineQuestionAnswer> readingMedicineQuestionAnswerRepository,
IRepository<ReadingMedicineSystemQuestion> readingMedicineSystemQuestionRepository
)
@ -44,6 +46,7 @@ namespace IRaCIS.Core.Application.Service
this._trialRepository = trialRepository;
this._visitTaskRepository = visitTaskRepository;
this._userTaskRepository = userTaskRepository;
this._visitTaskService = visitTaskService;
this._taskMedicalReviewRepository = taskMedicalReviewRepository;
this._readingMedicalReviewDialogRepository = readingMedicalReviewDialogRepository;
this._readingMedicineQuestionAnswerRepository = readingMedicineQuestionAnswerRepository;
@ -355,6 +358,37 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Result(result);
}
/// <summary>
/// IR 申请重阅
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<IResponseOutput> ApplyReReading(ApplyReReadingInDto inDto)
{
var visitTaskId = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId).Select(x => x.VisitTaskId).FirstOrDefaultAsync();
await _visitTaskService.ApplyReReading(new ApplyReReadingCommand()
{
IsCopyOrigenalForms = inDto.IsCopyOrigenalForms,
RequestReReadingReason = inDto.RequestReReadingReason,
RequestReReadingType = inDto.RequestReReadingType,
TrialId = inDto.TrialId,
TaskIdList = new List<Guid>()
{
visitTaskId
}
});
#region 重阅修改医学审核状态
await _taskMedicalReviewRepository.BatchUpdateNoTrackingAsync(x => !x.IsClosedDialog && x.Id==inDto.TaskMedicalReviewId, x => new TaskMedicalReview()
{
IsClosedDialog = true
});
#endregion
return await this.SendMedicalReviewDialog(inDto);
}
/// <summary>
/// 获取医学审核对话
/// </summary>