修改 多标准

Uat_Study
hang 2022-09-29 09:36:19 +08:00
parent 7373dd8e37
commit 5fcd84ba48
7 changed files with 87 additions and 30 deletions

View File

@ -7,6 +7,7 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using IRaCIS.Application.Contracts;
namespace IRaCIS.Core.Application.ViewModel
{
@ -100,7 +101,14 @@ namespace IRaCIS.Core.Application.ViewModel
public UserSimpleInfo DoctorUser { get; set; }
public List<ReadingCategory> ReadingCategoryList { get; set; }
//public List<ReadingCategory> ReadingCategoryList { get; set; }
public List<TrialReadingCriterionDto> TrialReadingCriterionList { get; set; }
public List<TrialCriterionReadingCategory> CriterionReadingCategoryList { get; set; }
public List<CriterionReadingCategory> CriterionCategoryList => CriterionReadingCategoryList
.GroupBy(t => new { t.TrialReadingCriterionId, t.EnrollId })
.Select(g => new CriterionReadingCategory() { EnrollId = g.Key.EnrollId, TrialReadingCriterionId = g.Key.TrialReadingCriterionId, ReadingCategorys = g.Select(t => t.ReadingCategory).ToList() }).ToList();
}

View File

@ -67,7 +67,10 @@ namespace IRaCIS.Core.Application.Service
CreateMap<TaskAllocationRule, TaskAllocationRuleDTO>()
.ForMember(o => o.DoctorUser, t => t.MapFrom(u => u.Enroll.DoctorUser))
.ForMember(o => o.ReadingCategoryList, t => t.MapFrom(u => u.Enroll.EnrollReadingCategoryList.OrderBy(t => t.ReadingCategory).Select(t => t.ReadingCategory).ToList()));
.ForMember(o => o.CriterionReadingCategoryList, t => t.MapFrom(u => u.Enroll.EnrollReadingCategoryList.Select(t => new TrialCriterionReadingCategory() { EnrollId = t.EnrollId, ReadingCategory = t.ReadingCategory, TrialReadingCriterionId = t.TrialReadingCriterionId })))
.ForMember(o => o.TrialReadingCriterionList, t => t.MapFrom(u => u.Trial.ReadingQuestionCriterionTrialList.Where(t => t.IsConfirm).Select(t => new TrialReadingCriterionDto() { TrialReadingCriterionId = t.Id, TrialReadingCriterionName = t.CriterionName })))
//.ForMember(o => o.ReadingCategoryList, t => t.MapFrom(u => u.Enroll.EnrollReadingCategoryList.OrderBy(t => t.ReadingCategory).Select(t => t.ReadingCategory).ToList()))
;
CreateMap<TaskAllocationRule, AssignDoctorStatView>().IncludeBase<TaskAllocationRule, TaskAllocationRuleDTO>()
.ForMember(o => o.AssignedSubjectCount, t => t.MapFrom(u => u.DoctorUser.VisitTaskList.Where(t => t.TrialId == u.TrialId).Select(t => t.SubjectId).Distinct().Count()))

View File

@ -145,9 +145,11 @@ namespace IRaCIS.Application.Contracts
[NotDefault]
public Guid EnrollId { get; set; }
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public List<ReadingCategory> ReadingCategorys { get; set; }
}
@ -252,12 +254,43 @@ namespace IRaCIS.Application.Contracts
public string? AgreementFileName => AgreementPath?.Split('/').Last();
public string AgreementFullPath => AgreementPath;
public string AgreementFullPath => AgreementPath;
//public List<ReadingCategory> ReadingCategorys { get; set; }
public List<TrialReadingCriterionDto> TrialReadingCriterionList { get; set; }
public List<TrialCriterionReadingCategory> CriterionReadingCategoryList { get; set; }
public List<CriterionReadingCategory> CriterionCategoryList => CriterionReadingCategoryList
.GroupBy(t => new { t.TrialReadingCriterionId, t.EnrollId })
.Select(g => new CriterionReadingCategory() { EnrollId = g.Key.EnrollId, TrialReadingCriterionId = g.Key.TrialReadingCriterionId, ReadingCategorys = g.Select(t => t.ReadingCategory).ToList() });
}
public class TrialReadingCriterionDto
{
public Guid TrialReadingCriterionId { get; set; }
public string TrialReadingCriterionName { get; set; }
}
public class TrialCriterionReadingCategory
{
public Guid EnrollId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public ReadingCategory ReadingCategory { get; set; }
}
public class CriterionReadingCategory
{
public Guid EnrollId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public List<ReadingCategory> ReadingCategorys { get; set; }
}
}

View File

@ -110,10 +110,10 @@ namespace IRaCIS.Application.Services
var enroll = await _enrollRepository.FirstAsync(t => t.Id == inDto.EnrollId);
if (_repository.Where<VisitTask>(t => t.TrialId == enroll.TrialId && t.DoctorUserId == enroll.DoctorUserId && t.TaskAllocationState == TaskAllocationState.Allocated).Any())
if (_repository.Where<VisitTask>(t => t.TrialId == enroll.TrialId && t.DoctorUserId == enroll.DoctorUserId && t.TaskAllocationState == TaskAllocationState.Allocated && t.TrialReadingCriterionId==inDto.TrialReadingCriterionId).Any())
{
var readingCategoryList = await _enrollReadingCategoryRepository.Where(t => t.EnrollId == inDto.EnrollId).Select(t => t.ReadingCategory).ToListAsync();
var readingCategoryList = await _enrollReadingCategoryRepository.Where(t => t.EnrollId == inDto.EnrollId && t.TrialReadingCriterionId == inDto.TrialReadingCriterionId).Select(t => t.ReadingCategory).ToListAsync();
if (readingCategoryList.Except(inDto.ReadingCategorys).Count() > 0)
{
@ -133,7 +133,7 @@ namespace IRaCIS.Application.Services
// await _enrollReadingCategoryRepository.DeleteFromQueryAsync(x => x.EnrollId == inDto.EnrollId);
//}
await _enrollReadingCategoryRepository.DeleteFromQueryAsync(x => x.EnrollId == inDto.EnrollId);
await _enrollReadingCategoryRepository.DeleteFromQueryAsync(x => x.EnrollId == inDto.EnrollId && x.TrialReadingCriterionId == inDto.TrialReadingCriterionId);
List<EnrollReadingCategory> enrollReadings = inDto.ReadingCategorys.Select(x => new EnrollReadingCategory()
@ -222,7 +222,10 @@ namespace IRaCIS.Application.Services
EnrollId = intoGroup.Id,
IsEnable = allocateRule.IsEnable,
ReadingCategorys = intoGroup.EnrollReadingCategoryList.Select(x => x.ReadingCategory).OrderBy(x => x).ToList(),
TrialReadingCriterionList = intoGroup.Trial.ReadingQuestionCriterionTrialList.Where(t=>t.IsConfirm).Select(t=>new TrialReadingCriterionDto() { TrialReadingCriterionId=t.Id,TrialReadingCriterionName=t.CriterionName}).ToList(),
CriterionReadingCategoryList=intoGroup.EnrollReadingCategoryList.Select(t=>new TrialCriterionReadingCategory() { EnrollId=t.EnrollId,ReadingCategory=t.ReadingCategory, TrialReadingCriterionId = t.TrialReadingCriterionId }).ToList(),
DoctorId = doctor.Id,
Code = doctor.ReviewerCode,
FirstName = doctor.FirstName,

View File

@ -78,6 +78,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? DoctorUserId { get; set; }
public Guid TrialReadingCriterionId { get; set; }

View File

@ -42,3 +42,9 @@ update SystemDocConfirmedUser set CreateUserId=ConfirmUserId,CreateTime=getdat
update TrialDocUserTypeConfirmedUser set IsDeleted=0 where IsDeleted is null
update SystemDocConfirmedUser set IsDeleted=0 where IsDeleted is null
update EnrollReadingCategory set TrialReadingCriterionId=(select top 1 Id from ReadingQuestionCriterionTrial where IsConfirm=1)
update VisitTask set TrialReadingCriterionId=(select top 1 Id from ReadingQuestionCriterionTrial where IsConfirm=1)
select * from EnrollReadingCategory where TrialReadingCriterionId is null
select * from VisitTask where TrialReadingCriterionId is null

View File

@ -9,35 +9,38 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///EnrollReadingCategory
///</summary>
[Table("EnrollReadingCategory")]
public class EnrollReadingCategory : Entity, IAuditAdd
{
/// <summary>
///<summary>
///EnrollReadingCategory
///</summary>
[Table("EnrollReadingCategory")]
public class EnrollReadingCategory : Entity, IAuditAdd
{
/// <summary>
/// EnrollId
/// </summary>
public Guid EnrollId { get; set; }
/// <summary>
public Guid EnrollId { get; set; }
/// <summary>
/// ReadingCategory
/// </summary>
public ReadingCategory ReadingCategory { get; set; }
/// <summary>
public ReadingCategory ReadingCategory { get; set; }
public Guid TrialReadingCriterionId { get; set; }
/// <summary>
/// CreateUserId
/// </summary>
public Guid CreateUserId { get; set; }
/// <summary>
public Guid CreateUserId { get; set; }
/// <summary>
/// CreateTime
/// </summary>
public DateTime CreateTime { get; set; }
public DateTime CreateTime { get; set; }
[JsonIgnore]
[ForeignKey("EnrollId")]
public Enroll Enroll { get; set; }
}
[ForeignKey("EnrollId")]
public Enroll Enroll { get; set; }
}
}
}