Uat_Study
parent
72935c89d8
commit
6bfbcd7d2c
|
@ -889,6 +889,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
|
||||
public string TypeValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 问题类型
|
||||
/// </summary>
|
||||
public TableQuestionType? QuestionGenre { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字典code
|
||||
/// </summary>
|
||||
public string DictionaryCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 裁判类别
|
||||
/// </summary>
|
||||
|
|
|
@ -41,6 +41,8 @@ namespace IRaCIS.Application.Services
|
|||
QuestionName = x.QuestionName,
|
||||
PageName = x.ReadingCriterionPage.PageName,
|
||||
TypeValue = x.TypeValue,
|
||||
QuestionGenre=x.QuestionGenre,
|
||||
DictionaryCode=x.DictionaryCode,
|
||||
JudgeType = x.JudgeType,
|
||||
ReadingQuestionTrialId = x.Id
|
||||
}).ToListAsync();
|
||||
|
|
|
@ -347,10 +347,6 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// </summary>
|
||||
public int ImagePlatform { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 全局阅片
|
||||
/// </summary>
|
||||
public bool IsGlobalReading { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统标准ID
|
||||
|
@ -419,7 +415,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
public bool? IsArbitrationReading { get; set; }
|
||||
|
||||
|
||||
public List<Guid> GlobalAssessTypeIds { get; set; }
|
||||
|
||||
|
||||
|
||||
///// <summary>
|
||||
|
@ -763,6 +759,33 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
}
|
||||
|
||||
public class GetGlobalReadingOutDto
|
||||
{
|
||||
public List<Guid> GlobalAssessTypeIds { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 全局阅片
|
||||
/// </summary>
|
||||
public bool IsGlobalReading { get; set; }
|
||||
|
||||
public bool IsSystemCriterion { get; set; }
|
||||
}
|
||||
|
||||
public class SetGlobalReadingInfoInDto
|
||||
{
|
||||
[NotDefault]
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public List<Guid> GlobalAssessTypeIds { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 全局阅片
|
||||
/// </summary>
|
||||
public bool IsGlobalReading { get; set; }
|
||||
}
|
||||
|
||||
public class GetOncologySetInDto
|
||||
{
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
|
|
@ -138,10 +138,57 @@ namespace IRaCIS.Core.Application
|
|||
{
|
||||
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x=>x.CriterionId == trialCriterion.Id && x.ParentCode == "GlobalAssessType"))&& trialCriterion.ReadingQuestionCriterionSystemId!=null)
|
||||
|
||||
|
||||
|
||||
GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
||||
|
||||
|
||||
|
||||
return trialInfo;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改全局阅片配置信息
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> SetGlobalReadingInfo(SetGlobalReadingInfoInDto inDto)
|
||||
{
|
||||
|
||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||
{
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id&&x.ParentCode== "GlobalAssessType");
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value&&x.ParentCode== "GlobalAssessType").
|
||||
IsGlobalReading = inDto.IsGlobalReading
|
||||
|
||||
});
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.GlobalAssess);
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
DictionaryId = x,
|
||||
IsSystemCriterion = false,
|
||||
ParentCode = ReadingCommon.GlobalAssess
|
||||
}));
|
||||
|
||||
var result= await _readingCriterionDictionaryRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取全局阅片信息
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<GetGlobalReadingOutDto> GetGlobalReadingInfo(GetOncologySetInDto inDto)
|
||||
{
|
||||
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.GlobalAssess)) && trialCriterion.ReadingQuestionCriterionSystemId != null)
|
||||
{
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.GlobalAssess);
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == ReadingCommon.GlobalAssess).
|
||||
Select(x => new ReadingCriterionDictionary()
|
||||
{
|
||||
CriterionId = trialCriterion.Id,
|
||||
|
@ -154,31 +201,30 @@ namespace IRaCIS.Core.Application
|
|||
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
|
||||
await _readingCriterionDictionaryRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
||||
|
||||
trialInfo.GlobalAssessTypeIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType").Select(x => x.DictionaryId).ToListAsync();
|
||||
|
||||
return trialInfo;
|
||||
GetGlobalReadingOutDto result = new GetGlobalReadingOutDto()
|
||||
{
|
||||
IsGlobalReading = trialCriterion.IsGlobalReading,
|
||||
IsSystemCriterion= trialCriterion.ReadingQuestionCriterionSystemId!=null,
|
||||
GlobalAssessTypeIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.GlobalAssess).Select(x => x.DictionaryId).ToListAsync(),
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目肿瘤学配置
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary>
|
||||
/// 获取项目肿瘤学配置
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetOncologySetOutDto> GetOncologySet(GetOncologySetInDto inDto)
|
||||
{
|
||||
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == "OncologyAssessType")) && trialCriterion.ReadingQuestionCriterionSystemId != null)
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.OncologyAssess)) && trialCriterion.ReadingQuestionCriterionSystemId != null)
|
||||
{
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == "OncologyAssessType");
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == "OncologyAssessType").
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.OncologyAssess);
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == ReadingCommon.OncologyAssess).
|
||||
Select(x => new ReadingCriterionDictionary()
|
||||
{
|
||||
CriterionId = trialCriterion.Id,
|
||||
|
@ -196,7 +242,7 @@ namespace IRaCIS.Core.Application
|
|||
return new GetOncologySetOutDto
|
||||
{
|
||||
EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason,
|
||||
OncologyAssessIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "OncologyAssessType").Select(x => x.DictionaryId).ToListAsync(),
|
||||
OncologyAssessIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.OncologyAssess).Select(x => x.DictionaryId).ToListAsync(),
|
||||
IsSystemCriterion= trialCriterion.ReadingQuestionCriterionSystemId!=null,
|
||||
IsSign = trialCriterion.ReadingInfoSignTime != null,
|
||||
};
|
||||
|
@ -220,14 +266,14 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
});
|
||||
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "OncologyAssess");
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.OncologyAssess);
|
||||
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.OncologyAssessIds.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
DictionaryId = x,
|
||||
IsSystemCriterion = false,
|
||||
ParentCode = "OncologyAssess"
|
||||
ParentCode = ReadingCommon.OncologyAssess
|
||||
}));
|
||||
|
||||
var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync();
|
||||
|
@ -353,9 +399,6 @@ namespace IRaCIS.Core.Application
|
|||
DigitPlaces = inDto.DigitPlaces,
|
||||
});
|
||||
|
||||
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType");
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -400,13 +443,7 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
});
|
||||
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
DictionaryId = x,
|
||||
IsSystemCriterion = false,
|
||||
ParentCode = "GlobalAssessType"
|
||||
}));
|
||||
|
||||
|
||||
var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync();
|
||||
|
||||
|
|
|
@ -15,6 +15,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
public static class ReadingCommon
|
||||
{
|
||||
|
||||
public const string GlobalAssess = "GlobalAssessType";
|
||||
|
||||
public const string OncologyAssess = "OncologyAssessType";
|
||||
|
||||
|
||||
public static Dictionary<int, string> SplitLesionDic = new Dictionary<int, string>()
|
||||
{
|
||||
{1, "a" },
|
||||
|
|
Loading…
Reference in New Issue