Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
52ba183846
|
@ -519,9 +519,9 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
{
|
{
|
||||||
fileName = realFileName;
|
fileName = realFileName;
|
||||||
|
|
||||||
if (!fileName.EndsWith(".xlsx") && !fileName.EndsWith(".csv") && !fileName.EndsWith(".xls"))
|
if (!fileName.EndsWith(".xlsx") && !fileName.EndsWith(".xls"))
|
||||||
{
|
{
|
||||||
//---支持.xlsx、.xls、.csv格式的文件上传。
|
//---支持.xlsx、.xls格式的文件上传。
|
||||||
throw new BusinessValidationFailedException(_localizer["UploadDownLoad_SupportedFormats"]);
|
throw new BusinessValidationFailedException(_localizer["UploadDownLoad_SupportedFormats"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -944,11 +944,11 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
}
|
}
|
||||||
var generateUserTypeList = new List<string>() { "CRC", "CRA" };
|
var generateUserTypeList = new List<string>() { "CRC", "CRA" };
|
||||||
|
|
||||||
if (excelList.Any(t => !generateUserTypeList.Contains(t.UserTypeStr.ToUpper())))
|
//if (excelList.Any(t => !generateUserTypeList.Contains(t.UserTypeStr.ToUpper())))
|
||||||
{
|
//{
|
||||||
//用户类型仅能为 CRC,SR,CRA 请核查Excel数据
|
// //用户类型仅能为 CRC,SR,CRA 请核查Excel数据
|
||||||
throw new BusinessValidationFailedException(_localizer["UploadDownLoad_InvalidUserType"]);
|
// throw new BusinessValidationFailedException(_localizer["UploadDownLoad_InvalidUserType"]);
|
||||||
}
|
//}
|
||||||
if (excelList.Count == 0)
|
if (excelList.Count == 0)
|
||||||
{
|
{
|
||||||
throw new BusinessValidationFailedException(_localizer["UploadDownLoad_NoValiddata"]);
|
throw new BusinessValidationFailedException(_localizer["UploadDownLoad_NoValiddata"]);
|
||||||
|
|
|
@ -26,6 +26,13 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
public bool IsUrgent { get; set; }
|
public bool IsUrgent { get; set; }
|
||||||
|
|
||||||
|
public bool? IsSelfAnalysis { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否是一致性分析产生
|
||||||
|
/// </summary>
|
||||||
|
public bool IsAnalysisCreate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 加急类型
|
/// 加急类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -203,6 +210,11 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
|
|
||||||
public bool IsHaveFeedBack { get; set; }
|
public bool IsHaveFeedBack { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否手动生成
|
||||||
|
/// </summary>
|
||||||
|
public bool IsManualGeneration { get; set; }
|
||||||
//public bool IsAfterConvertedTask { get; set; }
|
//public bool IsAfterConvertedTask { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,6 +270,12 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
//产生重阅的根任务Id
|
//产生重阅的根任务Id
|
||||||
public Guid RootReReadingTaskId { get; set; }
|
public Guid RootReReadingTaskId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否是一致性分析产生
|
||||||
|
/// </summary>
|
||||||
|
public bool IsAnalysisCreate { get; set; }
|
||||||
|
|
||||||
|
public bool? IsSelfAnalysis { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -145,6 +145,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(o => o.HistoryReadingDoctorUserList, t => t.MapFrom(u => u.JudgeVisitList));
|
.ForMember(o => o.HistoryReadingDoctorUserList, t => t.MapFrom(u => u.JudgeVisitList));
|
||||||
|
|
||||||
CreateMap<VisitTask, ReadingTaskView>().IncludeBase<VisitTask, VisitTaskView>()
|
CreateMap<VisitTask, ReadingTaskView>().IncludeBase<VisitTask, VisitTaskView>()
|
||||||
|
.ForMember(o=>o.IsManualGeneration,t=> t.MapFrom(u => !u.TrialReadingCriterion.IsAutoCreate))
|
||||||
.ForMember(o => o.IsHaveFeedBack, t => t.MapFrom(u => u.UserFeedBackList.Any(t=>t.State==0)))
|
.ForMember(o => o.IsHaveFeedBack, t => t.MapFrom(u => u.UserFeedBackList.Any(t=>t.State==0)))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -150,6 +150,11 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public DateTime UpdateTime { get; set; }
|
public DateTime UpdateTime { get; set; }
|
||||||
public Guid UpdateUserId { get; set; }
|
public Guid UpdateUserId { get; set; }
|
||||||
public string Code { get; set; } = string.Empty;
|
public string Code { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 字段的英文值
|
||||||
|
/// </summary>
|
||||||
|
public string CodeEn { get; set; } = string.Empty;
|
||||||
public Guid? ParentId { get; set; }
|
public Guid? ParentId { get; set; }
|
||||||
public bool IsEnable { get; set; }
|
public bool IsEnable { get; set; }
|
||||||
public Guid? ModuleTypeId { get; set; }
|
public Guid? ModuleTypeId { get; set; }
|
||||||
|
|
|
@ -2061,12 +2061,12 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
return ResponseOutput.NotOk(_localizer["QCOperation_CannotModifyConfirmation"]);
|
return ResponseOutput.NotOk(_localizer["QCOperation_CannotModifyConfirmation"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await _subjectVisitRepository.Where(t => t.Id == command.SubjectVisitId)
|
// if (await _subjectVisitRepository.Where(t => t.Id == command.SubjectVisitId)
|
||||||
.AnyAsync(t => t.IsEnrollmentConfirm != command.IsEnrollmentConfirm && t.RequestBackState == RequestBackStateEnum.PM_AgressBack))
|
//.AnyAsync(t => t.IsEnrollmentConfirm != command.IsEnrollmentConfirm && t.RequestBackState == RequestBackStateEnum.PM_AgressBack))
|
||||||
{
|
// {
|
||||||
//---该访视为回退访视,不允许修改PD确认状态
|
// //---该访视为回退访视,不允许修改PD确认状态
|
||||||
return ResponseOutput.NotOk(_localizer["QCOperation_CannotModifyPDStatus"]);
|
// return ResponseOutput.NotOk(_localizer["QCOperation_CannotModifyPDStatus"]);
|
||||||
}
|
// }
|
||||||
|
|
||||||
dbSubjectVisit.IsEnrollmentConfirm = command.IsEnrollmentConfirm.Value;
|
dbSubjectVisit.IsEnrollmentConfirm = command.IsEnrollmentConfirm.Value;
|
||||||
}
|
}
|
||||||
|
|
|
@ -409,7 +409,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
if (await _readModuleRepository.AnyAsync(x =>x.SubjectId== inDto.SubjectId&& x.SubjectVisit.LatestScanDate <= clinicalForm.CheckDate && x.IsCRCConfirm))
|
if (await _readModuleRepository.AnyAsync(x =>x.SubjectId== inDto.SubjectId&& x.SubjectVisit.LatestScanDate <= clinicalForm.CheckDate && x.IsCRCConfirm))
|
||||||
{
|
{
|
||||||
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToAddOrUpdate"]);
|
throw new BusinessValidationFailedException(_localizer["ClinicalAnswer_unableToAddOrUpdate", clinicalForm.CheckDate.Value.ToString("yyyy-MM-dd")]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1106,38 +1106,51 @@ namespace IRaCIS.Application.Services
|
||||||
//是否是预览
|
//是否是预览
|
||||||
if (inDto.IsGetPreview == false)
|
if (inDto.IsGetPreview == false)
|
||||||
{
|
{
|
||||||
// 是否获取所有问题
|
switch (criterionInfo.ReadingTool)
|
||||||
if (inDto.IsGetallQuestion)
|
|
||||||
{
|
{
|
||||||
if (!criterionInfo.IseCRFShowInDicomReading)
|
case ReadingTool.Dicom:
|
||||||
{
|
// 是否获取所有问题
|
||||||
qusetionList = qusetionList.Where(x => x.IsShowInDicom).OrderBy(x => x.ShowOrder).ToList();
|
if (inDto.IsGetallQuestion)
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!criterionInfo.IseCRFShowInDicomReading)
|
|
||||||
{
|
|
||||||
qusetionList = qusetionList.Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (inDto.TaskId != null)
|
|
||||||
{
|
|
||||||
if (taskInfo.IsConvertedTask)
|
|
||||||
{
|
{
|
||||||
qusetionList = qusetionList.Where(x => x.ConvertShowType == ConvertShowType.All || x.ConvertShowType == ConvertShowType.AfterShow).OrderBy(x => x.ShowOrder).ToList();
|
if (!criterionInfo.IseCRFShowInDicomReading)
|
||||||
|
{
|
||||||
|
qusetionList = qusetionList.Where(x => x.IsShowInDicom).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qusetionList = qusetionList.Where(x => x.ConvertShowType == ConvertShowType.All || x.ConvertShowType == ConvertShowType.BeforeShow).OrderBy(x => x.ShowOrder).ToList();
|
if (!criterionInfo.IseCRFShowInDicomReading)
|
||||||
|
{
|
||||||
|
qusetionList = qusetionList.Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (inDto.TaskId != null)
|
||||||
|
{
|
||||||
|
if (taskInfo.IsConvertedTask)
|
||||||
|
{
|
||||||
|
qusetionList = qusetionList.Where(x => x.ConvertShowType == ConvertShowType.All || x.ConvertShowType == ConvertShowType.AfterShow).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qusetionList = qusetionList.Where(x => x.ConvertShowType == ConvertShowType.All || x.ConvertShowType == ConvertShowType.BeforeShow).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var usedGuropIds = qusetionList.Where(x => x.Type == ReadingQestionType.Table).Select(x => x.GroupId).ToList();
|
||||||
|
qusetionList = qusetionList.Where(x => usedGuropIds.Contains(x.Id) || usedGuropIds.Contains(x.GroupId)).ToList();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
case ReadingTool.NoDicom:
|
||||||
|
if (!criterionInfo.IseCRFShowInDicomReading)
|
||||||
var usedGuropIds = qusetionList.Where(x => x.Type == ReadingQestionType.Table).Select(x => x.GroupId).ToList();
|
{
|
||||||
qusetionList = qusetionList.Where(x => usedGuropIds.Contains(x.Id) || usedGuropIds.Contains(x.GroupId)).ToList();
|
qusetionList = qusetionList.Where(x => x.IsShowInDicom).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,78 +47,33 @@ namespace IRaCIS.Application.Services
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<(GetTrialReadingQuestionPageDto, object)> GetTrialReadingQuestion(GetTrialReadingQuestionInDto inDto)
|
public async Task<(GetReadingTableQuestionOutDto, object)> GetTrialReadingQuestion(GetTrialReadingQuestionInDto inDto)
|
||||||
{
|
{
|
||||||
if (inDto.VisitTaskId != null)
|
|
||||||
{
|
|
||||||
//await AddDefaultValueToTask(inDto.VisitTaskId.Value);
|
|
||||||
}
|
|
||||||
|
|
||||||
var result = new GetTrialReadingQuestionPageDto();
|
|
||||||
var readingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync();
|
var readingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
var qusetionList = await GetReadingAnswerView(inDto.ReadingQuestionCriterionTrialId, inDto.VisitTaskId);
|
|
||||||
|
|
||||||
var formType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.ReadingQuestionCriterionTrialId).Select(x => x.FormType).FirstOrDefaultAsync();
|
var formType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.ReadingQuestionCriterionTrialId).Select(x => x.FormType).FirstOrDefaultAsync();
|
||||||
var groupList = new List<GetTrialReadingQuestionOutDto>();
|
|
||||||
|
|
||||||
var qusetionIds = qusetionList.Select(x => x.Id).ToList();
|
|
||||||
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => qusetionIds.Contains(x.ReadingQuestionId))
|
|
||||||
.ProjectTo<TableQuestionDataInfo>(_mapper.ConfigurationProvider,x=>new {
|
|
||||||
|
|
||||||
isEn_Us=_userInfo.IsEn_Us
|
|
||||||
|
|
||||||
}).OrderBy(x => x.ShowOrder).ToListAsync();
|
|
||||||
if (inDto.FormType != null)
|
if (inDto.FormType != null)
|
||||||
{
|
{
|
||||||
formType = inDto.FormType.Value;
|
formType = inDto.FormType.Value;
|
||||||
}
|
}
|
||||||
|
var tableAnswers = await _readingTableQuestionAnswerRepository
|
||||||
|
.ProjectTo<ReadingTableQuestionAnswerInfo>(_mapper.ConfigurationProvider)
|
||||||
|
.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync();
|
||||||
|
|
||||||
if (formType == FormType.MultiplePage)
|
var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ProjectTo<TableAnsweRowInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
var organIds = tableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
|
||||||
|
var organList = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
|
||||||
|
var result=await GetReadingTableQuestion(new GetReadingTableQuestionOrAnswerInDto()
|
||||||
{
|
{
|
||||||
qusetionList = qusetionList.Where(x => x.ReadingCriterionPageId != null).ToList();
|
|
||||||
var readingCriterionPageIds = qusetionList.OrderBy(x => x.PageShowOrder).Select(x => x.ReadingCriterionPageId).Distinct().ToList();
|
|
||||||
foreach (var item in readingCriterionPageIds)
|
|
||||||
{
|
|
||||||
var newPageQusetionList = qusetionList.Where(x => x.ReadingCriterionPageId == item).ToList();
|
|
||||||
var firstData = newPageQusetionList.FirstOrDefault();
|
|
||||||
var page = new GetTrialReadingQuestionOutDto()
|
|
||||||
{
|
|
||||||
PageName = firstData!.PageName,
|
|
||||||
IsPage = true,
|
|
||||||
IsPublicPage = firstData.IsPublicPage,
|
|
||||||
};
|
|
||||||
|
|
||||||
var pageGroupList = newPageQusetionList.Where(x => x.Type == ReadingQestionType.Group || (x.ParentId == null && x.GroupName.IsNullOrEmpty())).ToList();
|
TrialReadingCriterionId = inDto.ReadingQuestionCriterionTrialId,
|
||||||
pageGroupList.ForEach(x =>
|
TaskId = inDto.VisitTaskId,
|
||||||
{
|
TableAnswers = tableAnswers,
|
||||||
this.FindChildQuestion(x, newPageQusetionList, tableQuestionList);
|
TableAnsweRowInfos = tableAnsweRowInfos,
|
||||||
});
|
OrganInfos = organList,
|
||||||
|
QuestionClassify = null,
|
||||||
|
|
||||||
page.Childrens = pageGroupList.Where(x => !(x.Type == ReadingQestionType.Group && x.Childrens.Count() == 0)).ToList();
|
});
|
||||||
groupList.Add(page);
|
|
||||||
}
|
|
||||||
|
|
||||||
result.PublicPage = groupList.Where(x => x.IsPublicPage!.Value).ToList();
|
|
||||||
result.MultiPage = groupList.Where(x => !x.IsPublicPage!.Value).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
qusetionList = qusetionList.Where(x => x.ReadingCriterionPageId == null).ToList();
|
|
||||||
|
|
||||||
groupList = qusetionList.Where(x => x.Type == ReadingQestionType.Group || (x.ParentId == null && x.GroupId==null)).ToList();
|
|
||||||
groupList.ForEach(x =>
|
|
||||||
{
|
|
||||||
this.FindChildQuestion(x, qusetionList, tableQuestionList);
|
|
||||||
});
|
|
||||||
|
|
||||||
groupList = groupList.Where(x => !(x.Type == ReadingQestionType.Group && x.Childrens.Count() == 0)).ToList();
|
|
||||||
|
|
||||||
result.SinglePage = groupList;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return (result, new
|
return (result, new
|
||||||
|
|
|
@ -138,11 +138,13 @@ namespace IRaCIS.Application.Services
|
||||||
.Include(x => x.ReadingPeriodSet).Include(x => x.SubjectVisit).ToList();
|
.Include(x => x.ReadingPeriodSet).Include(x => x.SubjectVisit).ToList();
|
||||||
var needAddVisitIds = plans.Select(x => x.SubjectVisitId).ToList();
|
var needAddVisitIds = plans.Select(x => x.SubjectVisitId).ToList();
|
||||||
|
|
||||||
var repeatVisitNames = _readModuleRepository.Where(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && x.ReadingSetType == readingPeriodSet.ReadingSetType && needAddVisitIds.Contains(x.SubjectVisitId)).Select(x => x.Subject.Code + "的" + x.SubjectVisit.VisitName).ToList();
|
var repeatVisitIds = _readModuleRepository.Where(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && x.ReadingSetType == readingPeriodSet.ReadingSetType && needAddVisitIds.Contains(x.SubjectVisitId)).Select(x => x.SubjectVisitId).ToList();
|
||||||
if (repeatVisitNames.Count != 0)
|
|
||||||
{
|
|
||||||
return ResponseOutput.NotOk(_localizer["ReadingPeriodSet_AlreadyAdded", string.Join(",", repeatVisitNames)]);
|
plans = plans.Where(x => !repeatVisitIds.Contains(x.SubjectVisitId)).ToList();
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
List<ReadModule> readModules = new List<ReadModule>();
|
List<ReadModule> readModules = new List<ReadModule>();
|
||||||
foreach (var item in plans)
|
foreach (var item in plans)
|
||||||
{
|
{
|
||||||
|
|
|
@ -117,6 +117,18 @@ namespace IRaCIS.Core.Application
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_JudgeTaskFail"]);
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_JudgeTaskFail"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var criterionFormType = trialCriterion.FormType;
|
||||||
|
var count = _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId)
|
||||||
|
.WhereIf(criterionFormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
||||||
|
.WhereIf(criterionFormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null).Count();
|
||||||
|
|
||||||
|
if (count == 0)
|
||||||
|
{
|
||||||
|
//---当前标准下未配置问题
|
||||||
|
throw new BusinessValidationFailedException(_localizer["TrialConfig_StdConfigMissing"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||||
{
|
{
|
||||||
IsSigned = true,
|
IsSigned = true,
|
||||||
|
@ -505,40 +517,40 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 设置项目阅片标准
|
///// 设置项目阅片标准
|
||||||
/// </summary>
|
///// </summary>
|
||||||
/// <returns></returns>
|
///// <returns></returns>
|
||||||
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
|
//[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
|
||||||
public async Task<IResponseOutput> SetTrialReadingCriterion(SetTrialReadingCriterionInDto inDto)
|
//public async Task<IResponseOutput> SetTrialReadingCriterion(SetTrialReadingCriterionInDto inDto)
|
||||||
{
|
//{
|
||||||
if (inDto.IsSignSave)
|
// if (inDto.IsSignSave)
|
||||||
{
|
// {
|
||||||
var criterionFormType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.FormType).FirstOrDefaultAsync();
|
// var criterionFormType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.FormType).FirstOrDefaultAsync();
|
||||||
var count = _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId)
|
// var count = _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId)
|
||||||
.WhereIf(criterionFormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
// .WhereIf(criterionFormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
|
||||||
.WhereIf(criterionFormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null).Count();
|
// .WhereIf(criterionFormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null).Count();
|
||||||
|
|
||||||
if (count == 0)
|
// if (count == 0)
|
||||||
{
|
// {
|
||||||
//---当前标准下未配置问题
|
// //---当前标准下未配置问题
|
||||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_StdConfigMissing"]);
|
// throw new BusinessValidationFailedException(_localizer["TrialConfig_StdConfigMissing"]);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
// await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||||
{
|
// {
|
||||||
FormType = inDto.FormType,
|
// FormType = inDto.FormType,
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var result = await _trialRepository.SaveChangesAsync();
|
// var result = await _trialRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
|
||||||
return ResponseOutput.Ok(result);
|
// return ResponseOutput.Ok(result);
|
||||||
}
|
//}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 设置项目阅片信息
|
/// 设置项目阅片信息
|
||||||
|
|
|
@ -138,7 +138,7 @@ namespace IRaCIS.Application.Services
|
||||||
if (readingCategoryList.Except(inDto.ReadingCategorys).Count() > 0)
|
if (readingCategoryList.Except(inDto.ReadingCategorys).Count() > 0)
|
||||||
{
|
{
|
||||||
//---已分配任务,不允许减少阅片类型
|
//---已分配任务,不允许减少阅片类型
|
||||||
return ResponseOutput.NotOk(_localizer["DoctorWorkload_AssignType"]);
|
//return ResponseOutput.NotOk(_localizer["DoctorWorkload_AssignType"]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -397,6 +397,9 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsHistoryConvertedTask { get; set; } = false;
|
public bool IsHistoryConvertedTask { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否是自身一致性
|
||||||
|
/// </summary>
|
||||||
public bool? IsSelfAnalysis { get; set; }
|
public bool? IsSelfAnalysis { get; set; }
|
||||||
|
|
||||||
public string BlindSubjectCode { get; set; } = string.Empty;
|
public string BlindSubjectCode { get; set; } = string.Empty;
|
||||||
|
|
|
@ -82,6 +82,12 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public string Code { get; set; } = String.Empty;
|
public string Code { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 字段的英文值
|
||||||
|
/// </summary>
|
||||||
|
public string CodeEn { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
//前端渲染数组 数组名 和数组值
|
//前端渲染数组 数组名 和数组值
|
||||||
public string ChildDataLabel { get; set; }
|
public string ChildDataLabel { get; set; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue