Uat_Study
he 2023-02-20 11:22:14 +08:00
commit 6192c2e144
2 changed files with 69 additions and 36 deletions

View File

@ -72,7 +72,8 @@ namespace IRaCIS.Core.Application.Service
public async Task<IResponseOutput> SetTrialEmail(SetTrialEmailInDto inDto)
{
await TestEmailConfigAsync(new TrialEmailNoticeConfigAddOrEdit() {
await TestEmailConfigAsync(new TrialEmailNoticeConfigAddOrEdit()
{
AuthorizationCode = inDto.EmailAuthorizationCode,
FromEmail = inDto.EmailFromEmail,
@ -388,6 +389,17 @@ namespace IRaCIS.Core.Application.Service
answer = "是";
}
//把另外一个人的任务设置为不加急(如果项目加急是否 subject 加急是否)
var urgent = _repository.Where<SubjectVisit>(t => t.Id == taskInfo.SourceSubjectVisitId).Select(t => new { IsSubjectUrgent = t.Subject.IsUrgent, t.Trial.IsUrgent }).FirstOrDefault();
if (urgent?.IsUrgent == false || urgent?.IsSubjectUrgent==false)
{
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false &&
t.Id != visitTaskId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId, u => new VisitTask() { IsUrgent = false });
}
}
@ -711,21 +723,16 @@ namespace IRaCIS.Core.Application.Service
}
else if (readingCategory == ReadingCategory.Global)
{
var questionAnsewerList = await _repository.Where<ReadingGlobalTaskInfo>(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).ToListAsync();
var questionAnsewer = await _repository.Where<ReadingGlobalTaskInfo>(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).OrderByDescending(c => c.VisitTask.VisitTaskNum).FirstNotNullAsync();
var answerEmptyTaskIdList=questionAnsewerList.Where(t=>string.IsNullOrEmpty(t.Answer)).Select(t=>t.TaskId).ToList();
var answerList= await _repository.Where<ReadingTaskQuestionAnswer>(t => answerEmptyTaskIdList.Contains(t.VisitTaskId) && t.ReadingQuestionTrial.QuestionType == QuestionType.Tumor)
.Select(t=>t.Answer).ToListAsync();
if (questionAnsewerList.Any(t => t.Answer == ((int)OverallAssessment.PD).ToString()) || answerList.Any(t => t == ((int)OverallAssessment.PD).ToString()))
answer = questionAnsewer.Answer;
if (string.IsNullOrEmpty(questionAnsewer.Answer))
{
answer = ((int)OverallAssessment.PD).ToString();
answer = await _repository.Where<ReadingTaskQuestionAnswer>(t => questionAnsewer.TaskId == t.VisitTaskId && t.ReadingQuestionTrial.QuestionType == QuestionType.Tumor)
.Select(t => t.Answer).FirstOrDefaultAsync();
}
}
else if (readingCategory == ReadingCategory.Judge)
{
@ -847,7 +854,7 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
{
await SyncSystemEmainCofigDocListAsync(inQuery.TrialId);
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
.WhereIf(inQuery.IsDistinguishCriteria == false, t => t.TrialReadingCriterionId == null)

View File

@ -114,6 +114,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as Trial;
var extraIdentification = string.Empty;
//阅片标准
var criterionNameList = await _dbContext.ReadingQuestionCriterionTrial.Where(t => t.TrialId == entity.Id && t.IsConfirm).OrderBy(t => t.ShowOrder).Select(t => t.CriterionName).ToListAsync();
@ -134,9 +136,32 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//}
//trialDics = await this._dbContext.Dictionary.Where(x => dictionaryIds.Contains(x.Id)).Select(x => x.ValueCN).ToListAsync();
Guid id = entity.Id;
var oldentity = await _dbContext.Trial.Where(x => x.Id == id).Select(t => new { t.IsTrialBasicLogicConfirmed, t.IsTrialProcessConfirmed,
t.IsTrialUrgentConfirmed ,t.IsConfigureEmail}).FirstOrDefaultAsync();
switch (_userInfo.RequestUrl)
{
case "configTrialBasicInfo/ConfigTrialBasicInfoConfirm":
extraIdentification= $"/{oldentity.IsTrialBasicLogicConfirmed.ToString()}";
break;
case "configTrialBasicInfo/ConfigTrialUrgentInfoConfirm":
extraIdentification = $"/{oldentity.IsTrialUrgentConfirmed.ToString()}";
break;
case "TrialEmailNoticeConfig/setTrialEmail":
extraIdentification = oldentity.IsConfigureEmail? "/EmailUpdate" : "/EmailSave";
break;
}
await InsertInspection<Trial>(item.Entity as Trial, type, x => new InspectionConvertDTO()
{
TrialId = x.Id,
ExtraIndentification= extraIdentification,
}, new
{
//TrialDicList = string.Join(",", trialDics)
@ -145,6 +170,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
ClinicalDataSetNames = clinicalDataSetNameList.Count() > 0 ? string.Join(",", clinicalDataSetNameList) : String.Empty,
}); ;
}
@ -2560,23 +2586,23 @@ namespace IRaCIS.Core.Infra.EFCore.Common
type = type + (basicData.ParentId == null ? "/parent" : string.Empty);
break;
case nameof(Trial):
var trial = entityObj as Trial;
Guid id = trial.Id;
var oldentity = await _dbContext.Trial.Where(x => x.Id == id).Select(t => new { t.IsTrialBasicLogicConfirmed, t.IsTrialProcessConfirmed, t.IsTrialUrgentConfirmed }).FirstOrDefaultAsync();
switch (_userInfo.RequestUrl.ToLower())
{
case "configtrialbasicinfo/configtrialbasicinfoconfirm":
type = type + "/" + oldentity.IsTrialBasicLogicConfirmed.ToString();
break;
//case "configtrialbasicinfo/configtrialprocessinfoconfirm":
// type = type + "/" + oldentity.IsTrialProcessConfirmed.ToString();
//case nameof(Trial):
// var trial = entityObj as Trial;
// Guid id = trial.Id;
// var oldentity = await _dbContext.Trial.Where(x => x.Id == id).Select(t => new { t.IsTrialBasicLogicConfirmed, t.IsTrialProcessConfirmed, t.IsTrialUrgentConfirmed }).FirstOrDefaultAsync();
// switch (_userInfo.RequestUrl.ToLower())
// {
// case "configtrialbasicinfo/configtrialbasicinfoconfirm":
// type = type + "/" + oldentity.IsTrialBasicLogicConfirmed.ToString();
// break;
// //case "configtrialbasicinfo/configtrialprocessinfoconfirm":
// // type = type + "/" + oldentity.IsTrialProcessConfirmed.ToString();
// // break;
// case "configtrialbasicinfo/configtrialurgentinfoconfirm":
// type = type + "/" + oldentity.IsTrialUrgentConfirmed.ToString();
// break;
// }
// break;
case "configtrialbasicinfo/configtrialurgentinfoconfirm":
type = type + "/" + oldentity.IsTrialUrgentConfirmed.ToString();
break;
}
break;
//case nameof(ReadingQuestionTrial):