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