修改 多标准

This commit is contained in:
2022-09-29 09:36:19 +08:00
parent 7373dd8e37
commit 5fcd84ba48
7 changed files with 87 additions and 30 deletions
@@ -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; }
}
}
@@ -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,