diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs index 7420d172d..69aa7896a 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs @@ -27,6 +27,7 @@ namespace IRaCIS.Core.Application.Service private readonly IRepository _trialRepository; private readonly IEasyCachingProvider _provider; private readonly IRepository _subjectVisitRepository; + private readonly IRepository _readingJudgeInfoRepository; private readonly IRepository _taskAllocationRuleRepository; private readonly IRepository _subjectUserRepository; @@ -36,12 +37,15 @@ namespace IRaCIS.Core.Application.Service public VisitTaskHelpeService(IRepository visitTaskRepository, IRepository subjectUserRepository, IRepository trialRepository, IEasyCachingProvider provider, - IRepository subjectVisitRepository, IRepository taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository visitTaskReReadingRepository) + IRepository subjectVisitRepository, + IRepository readingJudgeInfoRepository, + IRepository taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository visitTaskReReadingRepository) { _visitTaskRepository = visitTaskRepository; _trialRepository = trialRepository; _provider = provider; _subjectVisitRepository = subjectVisitRepository; + this._readingJudgeInfoRepository = readingJudgeInfoRepository; _taskAllocationRuleRepository = taskAllocationRuleRepository; _subjectUserRepository = subjectUserRepository; _mapper = mapper; @@ -382,6 +386,15 @@ namespace IRaCIS.Core.Application.Service { JudgeVisitTaskId = visitTask.Id }); + + await _readingJudgeInfoRepository.AddAsync(new ReadingJudgeInfo() + { + JudgeTaskId = visitTask.Id, + SubjectId = firstTask.SubjectId, + TrialId = firstTask.TrialId, + TaskIdOne = generateTaskCommand.JudgeVisitTaskIdList[0], + TaskIdTwo = generateTaskCommand.JudgeVisitTaskIdList[1] + }); break; //case ReadingCategory.ReadingPeriod: diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index 94abdb4bd..14069eaa3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -33,6 +33,7 @@ namespace IRaCIS.Application.Services private readonly IVisitTaskHelpeService _visitTaskHelpeService; private readonly IRepository _subjectVisitRepository; private readonly IRepository _subjectRepository; + private readonly IRepository _readingJudgeInfoRepository; private readonly IRepository _readModuleRepository; private readonly IRepository _readingTaskQuestionAnswerRepository; private readonly IRepository _readingQuestionCriterionTrialRepository; @@ -47,6 +48,7 @@ namespace IRaCIS.Application.Services IVisitTaskHelpeService visitTaskHelpeService, IRepository subjectVisitRepository, IRepository subjectRepository, + IRepository readingJudgeInfoRepository, IRepository readModuleRepository, IRepository readingTaskQuestionAnswerRepository, IRepository readingQuestionCriterionTrialRepository, @@ -60,6 +62,7 @@ namespace IRaCIS.Application.Services this._visitTaskHelpeService = visitTaskHelpeService; this._subjectVisitRepository = subjectVisitRepository; this._subjectRepository = subjectRepository; + this._readingJudgeInfoRepository = readingJudgeInfoRepository; this._readModuleRepository = readModuleRepository; this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository; this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository; @@ -260,8 +263,8 @@ namespace IRaCIS.Application.Services { var readingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync(); - var query= from data in _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId==inDto.ReadingQuestionCriterionTrialId ) - join questionAnswer in _readingTaskQuestionAnswerRepository.Where(x=>x.VisitTaskId==inDto.VisitTaskId) on data.Id equals questionAnswer.ReadingQuestionTrialId into questionAnswerTemp + var query= from data in _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId==inDto.ReadingQuestionCriterionTrialId) + join questionAnswer in _readingTaskQuestionAnswerRepository.Where(x=>x.VisitTaskId==inDto.VisitTaskId) on data.Id equals questionAnswer.ReadingQuestionTrialId into questionAnswerTemp from leftquestionAnswer in questionAnswerTemp.DefaultIfEmpty() select new GetTrialReadingQuestionOutDto() { @@ -753,6 +756,8 @@ namespace IRaCIS.Application.Services { var trialId = await _visitTaskRepository.Where(x => inDto.VisitTaskIds.Contains(x.Id)).Select(x => x.TrialId).FirstOrDefaultAsync(); + + await _visitTaskHelpeService.AddTaskAsync(new GenerateTaskCommand() { JudgeVisitTaskIdList= inDto.VisitTaskIds, diff --git a/IRaCIS.Core.Domain/Reading/ReadingJudgeInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingJudgeInfo.cs new file mode 100644 index 000000000..668ffabd6 --- /dev/null +++ b/IRaCIS.Core.Domain/Reading/ReadingJudgeInfo.cs @@ -0,0 +1,60 @@ + + +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///阅片裁判信息 + /// + [Table("ReadingJudgeInfo")] + public class ReadingJudgeInfo : Entity, IAuditAdd + { + /// + /// 第一个任务ID + /// + [Required] + public Guid TaskIdOne { get; set; } + + /// + /// 第二个任务ID + /// + [Required] + public Guid TaskIdTwo { get; set; } + + /// + /// 裁判任务ID + /// + [Required] + public Guid JudgeTaskId { get; set; } + + /// + /// 创建时间 + /// + [Required] + public DateTime CreateTime { get; set; } + + /// + /// 创建人 + /// + [Required] + public Guid CreateUserId { get; set; } + + /// + /// 项目ID + /// + [Required] + public Guid TrialId { get; set; } + + /// + /// 受试者ID + /// + [Required] + public Guid SubjectId { get; set; } + + } + + +} diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index afbffeab4..e0a124c12 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -198,6 +198,8 @@ namespace IRaCIS.Core.Infra.EFCore public virtual DbSet ReadingClinicalDataPDF { get; set; } + public virtual DbSet ReadingJudgeInfo { get; set; } + public virtual DbSet ReadModule { get; set; } public virtual DbSet ReadModuleView { get; set; } diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude index 03a50a02f..c64a83f85 100644 --- a/IRaCIS.Core.Test/DbHelper.ttinclude +++ b/IRaCIS.Core.Test/DbHelper.ttinclude @@ -4,7 +4,7 @@ public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"; public static readonly string DbDatabase = "IRaCIS_New_Tet"; //ַ,ƴ - public static readonly string TableName = "VisitTaskReReading"; + public static readonly string TableName = "ReadingJudgeInfo"; //ļ service Ƿҳ } #> diff --git a/IRaCIS.Core.Test/TT_Template/IRaCIS.Core.Entity.cs b/IRaCIS.Core.Test/TT_Template/IRaCIS.Core.Entity.cs index e02abfc9b..171fad3cb 100644 --- a/IRaCIS.Core.Test/TT_Template/IRaCIS.Core.Entity.cs +++ b/IRaCIS.Core.Test/TT_Template/IRaCIS.Core.Entity.cs @@ -1 +1,3 @@  + +