修改稽查
This commit is contained in:
@@ -39,8 +39,8 @@ namespace IRaCIS.Core.Application
|
||||
private readonly IOrganInfoService _iOrganInfoService;
|
||||
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
|
||||
private readonly IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||
private readonly IReadingQuestionService iReadingQuestionService;
|
||||
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||
private readonly IReadingQuestionService iReadingQuestionService;
|
||||
private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository;
|
||||
|
||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
|
||||
@@ -62,8 +62,8 @@ namespace IRaCIS.Core.Application
|
||||
IRepository<ReadingCriterionPage> readingCriterionPageRepository,
|
||||
IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
||||
IRepository<ReadingSystemCriterionDictionary> readingCriterionDictionaryRepository,
|
||||
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||
IReadingQuestionService iReadingQuestionService,
|
||||
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||
IReadingQuestionService iReadingQuestionService,
|
||||
IEasyCachingProvider provider,
|
||||
IOrganInfoService iOrganInfoService,
|
||||
IRepository<TrialCriterionAdditionalAssessmentType> trialCriterionAdditionalAssessmentTypeRepository,
|
||||
@@ -79,8 +79,8 @@ namespace IRaCIS.Core.Application
|
||||
_trialRepository = trialRepository;
|
||||
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
||||
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
||||
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
|
||||
this.iReadingQuestionService = iReadingQuestionService;
|
||||
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
|
||||
this.iReadingQuestionService = iReadingQuestionService;
|
||||
this._trialQCQuestionRepository = trialQCQuestionRepository;
|
||||
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
||||
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
||||
@@ -269,15 +269,16 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
|
||||
.Select(x=>new ReadingTrialCriterionDictionary() {
|
||||
.Select(x => new ReadingTrialCriterionDictionary()
|
||||
{
|
||||
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
CrterionDictionaryGroup=x.CrterionDictionaryGroup,
|
||||
IsBaseLineUse=x.IsBaseLineUse,
|
||||
IsFollowVisitUse=x.IsFollowVisitUse,
|
||||
DictionaryId=x.DictionaryId,
|
||||
ParentCode=x.ParentCode,
|
||||
})
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
CrterionDictionaryGroup = x.CrterionDictionaryGroup,
|
||||
IsBaseLineUse = x.IsBaseLineUse,
|
||||
IsFollowVisitUse = x.IsFollowVisitUse,
|
||||
DictionaryId = x.DictionaryId,
|
||||
ParentCode = x.ParentCode,
|
||||
})
|
||||
.ToListAsync();
|
||||
|
||||
criterionDictionaryList.ForEach(x =>
|
||||
@@ -287,7 +288,7 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
});
|
||||
|
||||
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
|
||||
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
|
||||
|
||||
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
|
||||
#endregion
|
||||
@@ -624,7 +625,7 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
if (inDto.TrialCriterionAdditionalAssessmentTypeList.All(t => t.IsSelected != true))
|
||||
{
|
||||
//---选择了附加评估,必须勾选附加评估类型
|
||||
//---选择了附加评估,必须勾选附加评估类型
|
||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_AddEvalReq"]);
|
||||
}
|
||||
|
||||
@@ -641,7 +642,7 @@ namespace IRaCIS.Core.Application
|
||||
AdditionalAssessment additional = new AdditionalAssessment();
|
||||
var addTypeList = additional.GetSystemDefeaultAdditionalAssessmentList(updateItem.CriterionType, updateItem.AdditionalAssessmentType);
|
||||
|
||||
if(!await _readingQuestionTrialRepository.AsQueryable().IgnoreQueryFilters().AnyAsync(t => t.ReadingQuestionCriterionTrialId == updateItem.TrialReadingCriterionId && t.IsAdditional==true))
|
||||
if (!await _readingQuestionTrialRepository.AsQueryable().IgnoreQueryFilters().AnyAsync(t => t.ReadingQuestionCriterionTrialId == updateItem.TrialReadingCriterionId && t.IsAdditional == true))
|
||||
{
|
||||
foreach (var addType in addTypeList)
|
||||
{
|
||||
@@ -653,9 +654,9 @@ namespace IRaCIS.Core.Application
|
||||
await _readingQuestionTrialRepository.AddAsync(question);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
await _trialCriterionAdditionalAssessmentTypeRepository.UpdatePartialFromQueryAsync(updateItem.Id, t => new TrialCriterionAdditionalAssessmentType() { IsSelected = updateItem.IsSelected });
|
||||
}
|
||||
}
|
||||
@@ -953,6 +954,47 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
_mapper.Map(trialConfig, trialInfo);
|
||||
|
||||
//不管是否修改,一定要记录稽查
|
||||
trialInfo.UpdateTime=DateTime.Now;
|
||||
|
||||
//// 修改临床数据
|
||||
|
||||
var clinicalDataTrialSetList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialConfig.TrialId, true).ToListAsync();
|
||||
|
||||
foreach (var item in clinicalDataTrialSetList)
|
||||
{
|
||||
|
||||
if(trialConfig.ClinicalDataTrialSetIds.Contains(item.Id))
|
||||
{
|
||||
item.IsConfirm = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.IsConfirm = false;
|
||||
}
|
||||
}
|
||||
//// 修改阅片标准
|
||||
|
||||
var readingQuestionCriterionTrialList = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId, true).ToListAsync();
|
||||
|
||||
foreach (var item in readingQuestionCriterionTrialList)
|
||||
{
|
||||
|
||||
if (trialConfig.TrialCriterionIds.Contains(item.Id))
|
||||
{
|
||||
item.IsConfirm = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.IsConfirm = false;
|
||||
}
|
||||
}
|
||||
|
||||
#region 废弃
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
//if (trialInfo.IsGlobalReading && (trialInfo.IsArbitrationReading ?? false))
|
||||
//{
|
||||
// trialInfo.ArbitrationRule = ArbitrationRule.Reading;
|
||||
@@ -962,40 +1004,40 @@ namespace IRaCIS.Core.Application
|
||||
//{
|
||||
// trialInfo.ArbitrationRule = ArbitrationRule.Visit;
|
||||
//}
|
||||
trialInfo.UpdateTime = DateTime.Now;
|
||||
//trialInfo.UpdateTime = DateTime.Now;
|
||||
|
||||
// 修改临床数据
|
||||
var noconfirmids = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialConfig.TrialId && !trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
|
||||
foreach (var item in trialConfig.ClinicalDataTrialSetIds)
|
||||
{
|
||||
await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet()
|
||||
{
|
||||
//// 修改临床数据
|
||||
//var noconfirmids = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialConfig.TrialId && !trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
|
||||
//foreach (var item in trialConfig.ClinicalDataTrialSetIds)
|
||||
//{
|
||||
// await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet()
|
||||
// {
|
||||
|
||||
IsConfirm = true
|
||||
});
|
||||
}
|
||||
// IsConfirm = true
|
||||
// });
|
||||
//}
|
||||
|
||||
foreach (var item in noconfirmids)
|
||||
{
|
||||
await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet()
|
||||
{
|
||||
//foreach (var item in noconfirmids)
|
||||
//{
|
||||
// await _clinicalDataTrialSetRepository.UpdatePartialFromQueryAsync(item, x => new ClinicalDataTrialSet()
|
||||
// {
|
||||
|
||||
IsConfirm = false
|
||||
});
|
||||
}
|
||||
// IsConfirm = false
|
||||
// });
|
||||
//}
|
||||
|
||||
// 修改阅片标准
|
||||
var cancelConfirmCriterionIds = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId && x.IsConfirm && !trialConfig.TrialCriterionIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
|
||||
//// 修改阅片标准
|
||||
//var cancelConfirmCriterionIds = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId && x.IsConfirm && !trialConfig.TrialCriterionIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
|
||||
|
||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => cancelConfirmCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
|
||||
{
|
||||
IsConfirm = false
|
||||
});
|
||||
//await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => cancelConfirmCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
|
||||
//{
|
||||
// IsConfirm = false
|
||||
//});
|
||||
|
||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => trialConfig.TrialCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
|
||||
{
|
||||
IsConfirm = true
|
||||
}); ;
|
||||
//await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => trialConfig.TrialCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
|
||||
//{
|
||||
// IsConfirm = true
|
||||
//}); ;
|
||||
|
||||
|
||||
|
||||
@@ -1159,11 +1201,11 @@ namespace IRaCIS.Core.Application
|
||||
public async Task<TrialConfigDTO> GetTrialConfigInfo(Guid trialId)
|
||||
{
|
||||
return await _trialRepository.Where(t => t.Id == trialId).ProjectTo<TrialConfigDTO>(_mapper.ConfigurationProvider, new
|
||||
{
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
{
|
||||
isEn_Us = _userInfo.IsEn_Us
|
||||
|
||||
})
|
||||
.FirstOrDefaultAsync().IfNullThrowException();
|
||||
})
|
||||
.FirstOrDefaultAsync().IfNullThrowException();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user