修改附加评估类型
parent
1d4a2eb1b0
commit
a0fe1db962
|
@ -425,8 +425,10 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// </summary>
|
||||
public DateTime? ReadingInfoSignTime { get; set; }
|
||||
|
||||
public bool IsSign {
|
||||
get {
|
||||
public bool IsSign
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.ReadingInfoSignTime != null;
|
||||
}
|
||||
}
|
||||
|
@ -479,6 +481,9 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
public bool IsAutoCreate { get; set; }
|
||||
|
||||
|
||||
public List<TrialCriterionAdditionalAssessmentType> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<TrialCriterionAdditionalAssessmentType>();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -935,6 +940,8 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// </summary>
|
||||
public bool IsOncologyReading { get; set; }
|
||||
|
||||
public List<AddOrUpdateTrialCriterionAdditional> TrialCriterionAdditionalAssessmentTypeList { get; set; }=new List<AddOrUpdateTrialCriterionAdditional>();
|
||||
|
||||
}
|
||||
|
||||
public class SignConfirmDTO
|
||||
|
|
|
@ -19,6 +19,7 @@ using static IRaCIS.Core.Domain.Share.StaticData;
|
|||
using IRaCIS.Core.Application.Service;
|
||||
using DocumentFormat.OpenXml.Office.CustomUI;
|
||||
using IRaCIS.Core.Application.Service;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
|
||||
namespace IRaCIS.Core.Application
|
||||
{
|
||||
|
@ -178,8 +179,6 @@ namespace IRaCIS.Core.Application
|
|||
public async Task<GetTrialReadingInfoOutDto> GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto)
|
||||
{
|
||||
|
||||
|
||||
|
||||
GetTrialReadingInfoOutDto trialInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
||||
|
||||
if (trialInfo.ReadingTool == null)
|
||||
|
@ -187,6 +186,9 @@ namespace IRaCIS.Core.Application
|
|||
trialInfo.ReadingTool = ReadingTool.Dicom;
|
||||
}
|
||||
|
||||
trialInfo.TrialCriterionAdditionalAssessmentTypeList = await _trialCriterionAdditionalAssessmentTypeRepository.Where(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId).ToListAsync();
|
||||
|
||||
|
||||
return trialInfo;
|
||||
}
|
||||
|
||||
|
@ -206,6 +208,28 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
if (trialCriterion.SynchronizeOriginalTime == null)
|
||||
{
|
||||
|
||||
//同步附加评估类型
|
||||
|
||||
if (!await _trialCriterionAdditionalAssessmentTypeRepository.AnyAsync(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
||||
{
|
||||
AdditionalAssessment additional = new AdditionalAssessment();
|
||||
var addList = additional.GetSystemDefeaultAdditionalAssessmentList(trialCriterion.CriterionType);
|
||||
|
||||
foreach (var addItem in addList)
|
||||
{
|
||||
await _trialCriterionAdditionalAssessmentTypeRepository.AddAsync(new TrialCriterionAdditionalAssessmentType()
|
||||
{
|
||||
CriterionType = trialCriterion.CriterionType,
|
||||
TrialReadingCriterionId = inDto.TrialReadingCriterionId,
|
||||
AdditionalAssessmentType = addItem.AdditionalAssessmentType
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 同步器官
|
||||
await _iOrganInfoService.SynchronizeSystemOrganToTrial(new SynchronizeSystemOrganToTrialInDto()
|
||||
{
|
||||
|
@ -304,11 +328,6 @@ namespace IRaCIS.Core.Application
|
|||
public async Task<IResponseOutput> SetGlobalReadingInfo(SetGlobalReadingInfoInDto inDto)
|
||||
{
|
||||
|
||||
//await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||
//{
|
||||
// IsGlobalReading = inDto.IsGlobalReading
|
||||
|
||||
//});
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
|
@ -565,26 +584,70 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
});
|
||||
|
||||
//判断是否存在附加评估,存在,就将标准对应的附加评估选项加进去
|
||||
//判断是否存在附加评估
|
||||
if (inDto.IsAdditionalAssessment)
|
||||
{
|
||||
if (!await _trialCriterionAdditionalAssessmentTypeRepository.AnyAsync(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
||||
{
|
||||
AdditionalAssessment additional = new AdditionalAssessment();
|
||||
var addList = additional.GetSystemDefeaultAdditionalAssessmentList(inDto.CriterionType);
|
||||
#region 存在,就将标准对应的附加评估选项加进去--废弃 修改到同步标准的地方去了,不管存在附加评估与否,都增加附加评估类型
|
||||
//if (!await _trialCriterionAdditionalAssessmentTypeRepository.AnyAsync(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
||||
//{
|
||||
// AdditionalAssessment additional = new AdditionalAssessment();
|
||||
// var addList = additional.GetSystemDefeaultAdditionalAssessmentList(inDto.CriterionType);
|
||||
|
||||
foreach (var addItem in addList)
|
||||
// foreach (var addItem in addList)
|
||||
// {
|
||||
// await _trialCriterionAdditionalAssessmentTypeRepository.AddAsync(new TrialCriterionAdditionalAssessmentType()
|
||||
// {
|
||||
// CriterionType = inDto.CriterionType,
|
||||
// TrialReadingCriterionId = inDto.TrialReadingCriterionId,
|
||||
// AdditionalAssessmentType = addItem.AdditionalAssessmentType
|
||||
// });
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
|
||||
if (inDto.TrialCriterionAdditionalAssessmentTypeList.All(t => t.IsSelected != true))
|
||||
{
|
||||
await _trialCriterionAdditionalAssessmentTypeRepository.AddAsync(new TrialCriterionAdditionalAssessmentType()
|
||||
throw new BusinessValidationFailedException("选择了附加评估,必须勾选附加评估类型");
|
||||
}
|
||||
|
||||
var trialId = _readingQuestionTrialRepository.Where(t => t.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).Select(t => t.TrialId).FirstOrDefault();
|
||||
|
||||
|
||||
if (inDto.TrialCriterionAdditionalAssessmentTypeList.Count != 0)
|
||||
{
|
||||
CriterionType = inDto.CriterionType,
|
||||
TrialReadingCriterionId = inDto.TrialReadingCriterionId,
|
||||
AdditionalAssessmentType = addItem.AdditionalAssessmentType
|
||||
});
|
||||
foreach (var updateItem in inDto.TrialCriterionAdditionalAssessmentTypeList)
|
||||
{
|
||||
if (updateItem.IsSelected == true)
|
||||
{
|
||||
//添加默认问题
|
||||
AdditionalAssessment additional = new AdditionalAssessment();
|
||||
var addTypeList = additional.GetSystemDefeaultAdditionalAssessmentList(updateItem.CriterionType, updateItem.AdditionalAssessmentType);
|
||||
|
||||
foreach (var addType in addTypeList)
|
||||
{
|
||||
foreach (var question in addType.AdditionalQuestionList)
|
||||
{
|
||||
question.ReadingQuestionCriterionTrialId = updateItem.TrialReadingCriterionId;
|
||||
question.TrialId = trialId;
|
||||
|
||||
await _readingQuestionTrialRepository.AddAsync(question);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//删除附加问题
|
||||
|
||||
await _readingQuestionTrialRepository.BatchDeleteNoTrackingAsync(t => t.ReadingQuestionCriterionTrialId == updateItem.TrialReadingCriterionId && t.IsAdditional == true);
|
||||
}
|
||||
|
||||
await _trialCriterionAdditionalAssessmentTypeRepository.UpdatePartialFromQueryAsync(updateItem.Id, t => new TrialCriterionAdditionalAssessmentType() { IsSelected = updateItem.IsSelected });
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//删除附加问题
|
||||
await _readingQuestionTrialRepository.BatchDeleteNoTrackingAsync(t => t.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId && t.IsAdditional == true);
|
||||
|
@ -601,6 +664,7 @@ namespace IRaCIS.Core.Application
|
|||
/// </summary>
|
||||
/// <param name="trialReadingCriterionId"></param>
|
||||
/// <returns></returns>
|
||||
[Obsolete]
|
||||
public async Task<List<TrialCriterionAdditionalAssessmentType>> GetTrialCriterionAdditionalAssessmentOptionList(Guid trialReadingCriterionId)
|
||||
{
|
||||
return await _trialCriterionAdditionalAssessmentTypeRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).ToListAsync();
|
||||
|
@ -612,6 +676,7 @@ namespace IRaCIS.Core.Application
|
|||
/// </summary>
|
||||
/// <param name="updateList"></param>
|
||||
/// <returns></returns>
|
||||
[Obsolete]
|
||||
public async Task<IResponseOutput> SetTrialCriterionAdditionalAssessment(List<AddOrUpdateTrialCriterionAdditional> updateList)
|
||||
{
|
||||
|
||||
|
@ -621,6 +686,7 @@ namespace IRaCIS.Core.Application
|
|||
}
|
||||
|
||||
var trialId = _readingQuestionTrialRepository.Where(t => t.ReadingQuestionCriterionTrialId == updateList.First().TrialReadingCriterionId).Select(t => t.TrialId).FirstOrDefault();
|
||||
|
||||
foreach (var updateItem in updateList)
|
||||
{
|
||||
if (updateItem.IsSelected == true)
|
||||
|
|
Loading…
Reference in New Issue