修改疗效评估

Uat_Study
hang 2022-09-20 15:16:47 +08:00
parent ad78362f93
commit 528a8dbf6e
4 changed files with 152 additions and 290 deletions

View File

@ -8,40 +8,22 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public class TumorAssessmentView: AddOrUpdateTumorAssessmentInDto
{
}
public class AddOrUpdateTumorAssessmentInDto
{
public Guid? Id { get; set; }
/// <summary>
/// 靶病灶
/// </summary>
public string TargetLesion { get; set; }
/// <summary>
/// 非靶病灶
/// </summary>
public string NonTargetLesions { get; set; }
/// <summary>
/// 新病灶
/// </summary>
public string NewLesion { get; set; }
/// <summary>
/// 整体疗效
/// </summary>
public string OverallEfficacy { get; set; }
/// <summary>
/// 标准ID
/// </summary>
public Guid CriterionId { get; set; }
}
public class GetTumorAssessmentListInDto
{
public Guid CriterionId { get; set; }
/// <summary>
/// 靶病灶
@ -62,6 +44,32 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 整体疗效
/// </summary>
public OverallAssessment OverallEfficacy { get; set; }
}
public class GetTumorAssessmentListInDto
{
public Guid CriterionId { get; set; }
/// <summary>
/// 靶病灶
/// </summary>
public TargetAssessment? TargetLesion { get; set; }
/// <summary>
/// 非靶病灶
/// </summary>
public NoTargetAssessment? NonTargetLesions { get; set; }
/// <summary>
/// 新病灶
/// </summary>
public NewLesionAssessment? NewLesion { get; set; }
/// <summary>
/// 整体疗效
/// </summary>
public OverallAssessment? OverallEfficacy { get; set; }
}
public class CopySystemCriterionDataInDto
{

View File

@ -86,15 +86,15 @@ namespace IRaCIS.Application.Services
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<List<TumorAssessment>> GetTumorAssessmentList(GetTumorAssessmentListInDto inDto)
public async Task<List<TumorAssessmentView>> GetTumorAssessmentList(GetTumorAssessmentListInDto inDto)
{
var result = await _tumorAssessmentRepository
.Where(x => x.CriterionId == inDto.CriterionId)
.WhereIf(!inDto.OverallEfficacy.IsNullOrEmpty(),x=>x.OverallEfficacy==inDto.OverallEfficacy)
.WhereIf(!inDto.TargetLesion.IsNullOrEmpty(), x => x.TargetLesion == inDto.TargetLesion)
.WhereIf(!inDto.NonTargetLesions.IsNullOrEmpty(), x => x.NonTargetLesions == inDto.NonTargetLesions)
.WhereIf(!inDto.NewLesion.IsNullOrEmpty(), x => x.NewLesion == inDto.NewLesion)
.ToListAsync();
.WhereIf(inDto.OverallEfficacy != null, x => x.OverallEfficacy == inDto.OverallEfficacy)
.WhereIf(inDto.TargetLesion != null, x => x.TargetLesion == inDto.TargetLesion)
.WhereIf(inDto.NonTargetLesions != null, x => x.NonTargetLesions == inDto.NonTargetLesions)
.WhereIf(inDto.NewLesion != null, x => x.NewLesion == inDto.NewLesion)
.ProjectTo<TumorAssessmentView>(_mapper.ConfigurationProvider).ToListAsync();
return result;
}
@ -199,7 +199,8 @@ namespace IRaCIS.Application.Services
{
var organData = await _organInfoRepository.Where(x => x.SystemCriterionId == inDto.SourceSystemCriterionId).ToListAsync();
organData.ForEach(x => {
organData.ForEach(x =>
{
x.Id = NewId.NextGuid();
x.SystemCriterionId = inDto.NewSystemCriterionId;
});
@ -495,7 +496,8 @@ namespace IRaCIS.Application.Services
// 将系统里面的问题转为项目问题
var newTrialQuestionList = await _readingQuestionSystemRepository.Where(x => x.ReadingQuestionCriterionSystemId == trialCriterion.ReadingQuestionCriterionSystemId)
.ProjectTo<ReadingQuestionTrial>(_mapper.ConfigurationProvider).ToListAsync();
newTrialQuestionList.ForEach(x => {
newTrialQuestionList.ForEach(x =>
{
x.Id = NewId.NextGuid();
x.ReadingQuestionCriterionTrialId = trialCriterion.Id;
x.TrialId = trialCriterion.TrialId;
@ -559,7 +561,8 @@ namespace IRaCIS.Application.Services
.ProjectTo<ReadingTrialTableQuestionData>(_mapper.ConfigurationProvider).ToListAsync();
newTrialTableQuestionList.ForEach(x => {
newTrialTableQuestionList.ForEach(x =>
{
x.Id = NewId.NextGuid();
});
@ -788,7 +791,8 @@ namespace IRaCIS.Application.Services
IsCompleteConfig = true,
});
var systemCriterionQuestionList = await _readingQuestionSystemRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).ToListAsync();
var trialCriterionList = await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).Select(x => new {
var trialCriterionList = await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).Select(x => new
{
x.Id,
x.TrialId,
}).ToListAsync();
@ -814,7 +818,8 @@ namespace IRaCIS.Application.Services
{
var systemCriterion = await _readingQuestionCriterionSystemRepository.FirstOrDefaultAsync(x => x.Id == systemCriterionId);
var trialCriterionList = await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).Select(x => new {
var trialCriterionList = await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).Select(x => new
{
x.Id,
x.TrialId,
}).ToListAsync();
@ -926,7 +931,8 @@ namespace IRaCIS.Application.Services
if (indto.Id != null)
{
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.ReadingQuestionCriterionSystemId == indto.Id, x => new ReadingQuestionCriterionTrial() {
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.ReadingQuestionCriterionSystemId == indto.Id, x => new ReadingQuestionCriterionTrial()
{
CriterionName = indto.CriterionName
});

View File

@ -50,6 +50,8 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ReadModuleAddOrEdit, ReadModule>();
CreateMap<TumorAssessment, TumorAssessmentView>();
#region 阅片问题
// 忽略列

View File

@ -16,160 +16,6 @@ namespace IRaCIS.Core.Domain.Share
public static readonly string Group = "group";
}
/// <summary>
/// 整体肿瘤评估
/// </summary>
public enum OverallAssessment
{
/// <summary>
/// CR
/// </summary>
CR = 0,
/// <summary>
/// ND
/// </summary>
ND = 1,
/// <summary>
/// NE
/// </summary>
NE = 2,
/// <summary>
/// NN
/// </summary>
NN = 3,
/// <summary>
/// PD
/// </summary>
PD = 4,
/// <summary>
/// PR
/// </summary>
PR = 5,
/// <summary>
/// SD
/// </summary>
SD = 6,
/// <summary>
/// NA
/// </summary>
NA = 6
}
/// <summary>
/// 新病灶评估
/// </summary>
public enum NewLesionAssessment
{
/// <summary>
/// 是
/// </summary>
Yes = 0,
/// <summary>
/// 疑似
/// </summary>
Suspected = 1,
/// <summary>
/// NE
/// </summary>
NE = 2,
/// <summary>
/// 否
/// </summary>
No = 3,
/// <summary>
/// NA
/// </summary>
NA = 4
}
/// <summary>
/// 非靶病灶评估
/// </summary>
public enum NoTargetAssessment
{
/// <summary>
/// PD
/// </summary>
PD = 0,
/// <summary>
/// CR
/// </summary>
CR = 1,
/// <summary>
/// NE
/// </summary>
NE = 2,
/// <summary>
/// ND
/// </summary>
ND = 3,
/// <summary>
/// NN
/// </summary>
NN = 4,
/// <summary>
/// NA
/// </summary>
NA = 5
}
/// <summary>
/// 靶病灶评估
/// </summary>
public enum TargetAssessment
{
/// <summary>
/// CR
/// </summary>
CR = 0,
/// <summary>
/// PR
/// </summary>
PR = 1,
/// <summary>
/// SD
/// </summary>
SD = 2,
/// <summary>
/// PD
/// </summary>
PD = 3,
/// <summary>
/// NE
/// </summary>
NE = 4,
/// <summary>
/// ND
/// </summary>
ND = 5,
/// <summary>
/// NA
/// </summary>
NA = 6
}
/// <summary>