修改附加评估类型
parent
1d4a2eb1b0
commit
a0fe1db962
|
@ -126,14 +126,14 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public bool? IsClinicalReading { get; set; }
|
public bool? IsClinicalReading { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public int? DigitPlaces { get; set; }
|
public int? DigitPlaces { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ////读片任务显示是否顺序
|
// ////读片任务显示是否顺序
|
||||||
//// public bool IsReadingTaskViewInOrder { get; set; } = false;
|
//// public bool IsReadingTaskViewInOrder { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -188,7 +188,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsTrialProcessConfirmed { get; set; } = false;
|
public bool IsTrialProcessConfirmed { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//阅片方式
|
//阅片方式
|
||||||
public int ReadingMode { get; set; }
|
public int ReadingMode { get; set; }
|
||||||
|
@ -205,7 +205,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public ArbitrationRule ArbitrationRule { get; set; }
|
public ArbitrationRule ArbitrationRule { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片是否显示受试者信息
|
/// 阅片是否显示受试者信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsReadingShowSubjectInfo { get; set; }
|
public bool IsReadingShowSubjectInfo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片是否显示既往结果
|
/// 阅片是否显示既往结果
|
||||||
|
@ -269,7 +269,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片是否显示既往结果
|
/// 阅片是否显示既往结果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsReadingShowPreviousResults { get; set; }
|
public bool IsReadingShowPreviousResults { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrialJudgeTaskConfig
|
public class TrialJudgeTaskConfig
|
||||||
|
@ -302,7 +302,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public bool IsPDProgressView { get; set; }
|
public bool IsPDProgressView { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,8 +425,10 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? ReadingInfoSignTime { get; set; }
|
public DateTime? ReadingInfoSignTime { get; set; }
|
||||||
|
|
||||||
public bool IsSign {
|
public bool IsSign
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
return this.ReadingInfoSignTime != null;
|
return this.ReadingInfoSignTime != null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -479,6 +481,9 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public bool IsAutoCreate { get; set; }
|
public bool IsAutoCreate { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public List<TrialCriterionAdditionalAssessmentType> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<TrialCriterionAdditionalAssessmentType>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,7 +529,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public Guid CreateUserId { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrialReadQuestion :ReadingQuestionTrial
|
public class TrialReadQuestion : ReadingQuestionTrial
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分页名称
|
/// 分页名称
|
||||||
|
@ -552,11 +557,11 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public int? ParentQuestionShowOrder { get; set; }
|
public int? ParentQuestionShowOrder { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrialAdditionaQuestion: TrialReadQuestion
|
public class TrialAdditionaQuestion : TrialReadQuestion
|
||||||
{
|
{
|
||||||
public List<TrialAdditionaQuestion> Childrens { get; set; } = new List<TrialAdditionaQuestion>();
|
public List<TrialAdditionaQuestion> Childrens { get; set; } = new List<TrialAdditionaQuestion>();
|
||||||
public string Answer { get; set; } = string.Empty;
|
public string Answer { get; set; } = string.Empty;
|
||||||
|
@ -565,7 +570,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public class TrialJudgeQuestion
|
public class TrialJudgeQuestion
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
public Guid ReadingQuestionCriterionTrialId { get; set; }
|
public Guid ReadingQuestionCriterionTrialId { get; set; }
|
||||||
|
|
||||||
public Guid QuestionId { get; set; }
|
public Guid QuestionId { get; set; }
|
||||||
|
@ -722,7 +727,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public string EvaluationReason { get; set; } = string.Empty;
|
public string EvaluationReason { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetGlobalReadingOutDto
|
public class GetGlobalReadingOutDto
|
||||||
|
@ -771,7 +776,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// IsBaseLineUse
|
/// IsBaseLineUse
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsBaseLineUse { get; set; }
|
public bool IsBaseLineUse { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// IsBaseUse
|
/// IsBaseUse
|
||||||
|
@ -793,7 +798,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
[NotDefault]
|
[NotDefault]
|
||||||
public Guid TrialReadingCriterionId { get; set; }
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SetTrialReadingCriterionInDto
|
public class SetTrialReadingCriterionInDto
|
||||||
|
@ -801,7 +806,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public Guid TrialReadingCriterionId { get; set; }
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 表单类型
|
/// 表单类型
|
||||||
|
@ -905,7 +910,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsReadingShowPreviousResults { get; set; }
|
public bool IsReadingShowPreviousResults { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 仲裁规则/对象
|
/// 仲裁规则/对象
|
||||||
|
@ -935,6 +940,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsOncologyReading { get; set; }
|
public bool IsOncologyReading { get; set; }
|
||||||
|
|
||||||
|
public List<AddOrUpdateTrialCriterionAdditional> TrialCriterionAdditionalAssessmentTypeList { get; set; }=new List<AddOrUpdateTrialCriterionAdditional>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SignConfirmDTO
|
public class SignConfirmDTO
|
||||||
|
|
|
@ -19,6 +19,7 @@ using static IRaCIS.Core.Domain.Share.StaticData;
|
||||||
using IRaCIS.Core.Application.Service;
|
using IRaCIS.Core.Application.Service;
|
||||||
using DocumentFormat.OpenXml.Office.CustomUI;
|
using DocumentFormat.OpenXml.Office.CustomUI;
|
||||||
using IRaCIS.Core.Application.Service;
|
using IRaCIS.Core.Application.Service;
|
||||||
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application
|
namespace IRaCIS.Core.Application
|
||||||
{
|
{
|
||||||
|
@ -178,8 +179,6 @@ namespace IRaCIS.Core.Application
|
||||||
public async Task<GetTrialReadingInfoOutDto> GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto)
|
public async Task<GetTrialReadingInfoOutDto> GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GetTrialReadingInfoOutDto trialInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
GetTrialReadingInfoOutDto trialInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
||||||
|
|
||||||
if (trialInfo.ReadingTool == null)
|
if (trialInfo.ReadingTool == null)
|
||||||
|
@ -187,6 +186,9 @@ namespace IRaCIS.Core.Application
|
||||||
trialInfo.ReadingTool = ReadingTool.Dicom;
|
trialInfo.ReadingTool = ReadingTool.Dicom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trialInfo.TrialCriterionAdditionalAssessmentTypeList = await _trialCriterionAdditionalAssessmentTypeRepository.Where(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
return trialInfo;
|
return trialInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,6 +208,28 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
if (trialCriterion.SynchronizeOriginalTime == null)
|
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()
|
await _iOrganInfoService.SynchronizeSystemOrganToTrial(new SynchronizeSystemOrganToTrialInDto()
|
||||||
{
|
{
|
||||||
|
@ -304,11 +328,6 @@ namespace IRaCIS.Core.Application
|
||||||
public async Task<IResponseOutput> SetGlobalReadingInfo(SetGlobalReadingInfoInDto inDto)
|
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.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
|
||||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingCriterionDictionary
|
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingCriterionDictionary
|
||||||
{
|
{
|
||||||
|
@ -506,7 +525,7 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
{
|
{
|
||||||
//---当前标准下未配置问题
|
//---当前标准下未配置问题
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_StdConfigMissing"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_StdConfigMissing"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -565,24 +584,68 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
//判断是否存在附加评估,存在,就将标准对应的附加评估选项加进去
|
//判断是否存在附加评估
|
||||||
if (inDto.IsAdditionalAssessment)
|
if (inDto.IsAdditionalAssessment)
|
||||||
{
|
{
|
||||||
if (!await _trialCriterionAdditionalAssessmentTypeRepository.AnyAsync(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
#region 存在,就将标准对应的附加评估选项加进去--废弃 修改到同步标准的地方去了,不管存在附加评估与否,都增加附加评估类型
|
||||||
{
|
//if (!await _trialCriterionAdditionalAssessmentTypeRepository.AnyAsync(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
||||||
AdditionalAssessment additional = new AdditionalAssessment();
|
//{
|
||||||
var addList = additional.GetSystemDefeaultAdditionalAssessmentList(inDto.CriterionType);
|
// 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))
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException("选择了附加评估,必须勾选附加评估类型");
|
||||||
|
}
|
||||||
|
|
||||||
|
var trialId = _readingQuestionTrialRepository.Where(t => t.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).Select(t => t.TrialId).FirstOrDefault();
|
||||||
|
|
||||||
|
|
||||||
|
if (inDto.TrialCriterionAdditionalAssessmentTypeList.Count != 0)
|
||||||
|
{
|
||||||
|
foreach (var updateItem in inDto.TrialCriterionAdditionalAssessmentTypeList)
|
||||||
{
|
{
|
||||||
await _trialCriterionAdditionalAssessmentTypeRepository.AddAsync(new TrialCriterionAdditionalAssessmentType()
|
if (updateItem.IsSelected == true)
|
||||||
{
|
{
|
||||||
CriterionType = inDto.CriterionType,
|
//添加默认问题
|
||||||
TrialReadingCriterionId = inDto.TrialReadingCriterionId,
|
AdditionalAssessment additional = new AdditionalAssessment();
|
||||||
AdditionalAssessmentType = addItem.AdditionalAssessmentType
|
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
|
else
|
||||||
{
|
{
|
||||||
|
@ -601,6 +664,7 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="trialReadingCriterionId"></param>
|
/// <param name="trialReadingCriterionId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
[Obsolete]
|
||||||
public async Task<List<TrialCriterionAdditionalAssessmentType>> GetTrialCriterionAdditionalAssessmentOptionList(Guid trialReadingCriterionId)
|
public async Task<List<TrialCriterionAdditionalAssessmentType>> GetTrialCriterionAdditionalAssessmentOptionList(Guid trialReadingCriterionId)
|
||||||
{
|
{
|
||||||
return await _trialCriterionAdditionalAssessmentTypeRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).ToListAsync();
|
return await _trialCriterionAdditionalAssessmentTypeRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).ToListAsync();
|
||||||
|
@ -612,6 +676,7 @@ namespace IRaCIS.Core.Application
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="updateList"></param>
|
/// <param name="updateList"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
[Obsolete]
|
||||||
public async Task<IResponseOutput> SetTrialCriterionAdditionalAssessment(List<AddOrUpdateTrialCriterionAdditional> updateList)
|
public async Task<IResponseOutput> SetTrialCriterionAdditionalAssessment(List<AddOrUpdateTrialCriterionAdditional> updateList)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -620,7 +685,8 @@ namespace IRaCIS.Core.Application
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
var trialId= _readingQuestionTrialRepository.Where(t=>t.ReadingQuestionCriterionTrialId==updateList.First().TrialReadingCriterionId).Select(t=>t.TrialId).FirstOrDefault();
|
var trialId = _readingQuestionTrialRepository.Where(t => t.ReadingQuestionCriterionTrialId == updateList.First().TrialReadingCriterionId).Select(t => t.TrialId).FirstOrDefault();
|
||||||
|
|
||||||
foreach (var updateItem in updateList)
|
foreach (var updateItem in updateList)
|
||||||
{
|
{
|
||||||
if (updateItem.IsSelected == true)
|
if (updateItem.IsSelected == true)
|
||||||
|
@ -716,7 +782,7 @@ namespace IRaCIS.Core.Application
|
||||||
{
|
{
|
||||||
if (showOrderList.Count == 0)
|
if (showOrderList.Count == 0)
|
||||||
{
|
{
|
||||||
//---当前未添加影像质控审核问题。请先添加影像质控审核问题,再进行确认。
|
//---当前未添加影像质控审核问题。请先添加影像质控审核问题,再进行确认。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_NoImageAuditQuestion"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_NoImageAuditQuestion"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -786,26 +852,26 @@ namespace IRaCIS.Core.Application
|
||||||
{
|
{
|
||||||
if (showOrderList.Count == 0)
|
if (showOrderList.Count == 0)
|
||||||
{
|
{
|
||||||
//---当前未添加影像质控审核问题。请先添加影像质控审核问题,再进行确认。
|
//---当前未添加影像质控审核问题。请先添加影像质控审核问题,再进行确认。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_NoImageAuditQuestion"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_NoImageAuditQuestion"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showOrderList.Count() != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
|
if (showOrderList.Count() != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
|
||||||
{
|
{
|
||||||
//---影像质控审核问题显示序号不能重复。
|
//---影像质控审核问题显示序号不能重复。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_DuplicateAuditQuestionId"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_DuplicateAuditQuestionId"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showOrderList.Where(t => t.ParentShowOrder != null).Any(t => t.ParentShowOrder > t.ShowOrder))
|
if (showOrderList.Where(t => t.ParentShowOrder != null).Any(t => t.ParentShowOrder > t.ShowOrder))
|
||||||
{
|
{
|
||||||
//---父问题的显示序号要比子问题的显示序号小,请确认。
|
//---父问题的显示序号要比子问题的显示序号小,请确认。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_InvalidParentQuestionId"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_InvalidParentQuestionId"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await _trialRepository.AnyAsync(t => t.Id == signConfirmDTO.TrialId && t.QCQuestionConfirmedUserId != null && t.QCQuestionConfirmedUserId != _userInfo.Id))
|
if (await _trialRepository.AnyAsync(t => t.Id == signConfirmDTO.TrialId && t.QCQuestionConfirmedUserId != null && t.QCQuestionConfirmedUserId != _userInfo.Id))
|
||||||
{
|
{
|
||||||
//---影像质控审核问题已被其他人员确认,不允许再次确认。
|
//---影像质控审核问题已被其他人员确认,不允许再次确认。
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_AuditQuestionConfirmed"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_AuditQuestionConfirmed"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -965,7 +1031,7 @@ namespace IRaCIS.Core.Application
|
||||||
var canOPt = await _trialRepository.AnyAsync(trial =>
|
var canOPt = await _trialRepository.AnyAsync(trial =>
|
||||||
trial.Id == trialId && trial.IsTrialBasicLogicConfirmed && trial.IsTrialProcessConfirmed &&
|
trial.Id == trialId && trial.IsTrialBasicLogicConfirmed && trial.IsTrialProcessConfirmed &&
|
||||||
trial.IsTrialUrgentConfirmed && trial.VisitPlanConfirmed);
|
trial.IsTrialUrgentConfirmed && trial.VisitPlanConfirmed);
|
||||||
//---该项目的项目配置(基础配置、流程配置、加急配置) 、访视管理,有配置未确认,不能设置项目状态为启动。
|
//---该项目的项目配置(基础配置、流程配置、加急配置) 、访视管理,有配置未确认,不能设置项目状态为启动。
|
||||||
return ResponseOutput.Ok(canOPt, msg: canOPt ? "" : _localizer["TrialConfig_UnconfirmedConfiguration"]);
|
return ResponseOutput.Ok(canOPt, msg: canOPt ? "" : _localizer["TrialConfig_UnconfirmedConfiguration"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -993,7 +1059,7 @@ namespace IRaCIS.Core.Application
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//---无法变更项目状态。该项目的项目配置、访视管理中,有未确认项
|
//---无法变更项目状态。该项目的项目配置、访视管理中,有未确认项
|
||||||
return ResponseOutput.NotOk(_localizer["TrialConfig_UnconfirmedUNACKD"]);
|
return ResponseOutput.NotOk(_localizer["TrialConfig_UnconfirmedUNACKD"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue