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,14 +72,15 @@ namespace IRaCIS.Core.Application.Service
public async Task<IResponseOutput> SetTrialEmail(SetTrialEmailInDto inDto) public async Task<IResponseOutput> SetTrialEmail(SetTrialEmailInDto inDto)
{ {
await TestEmailConfigAsync(new TrialEmailNoticeConfigAddOrEdit() { await TestEmailConfigAsync(new TrialEmailNoticeConfigAddOrEdit()
{
AuthorizationCode=inDto.EmailAuthorizationCode, AuthorizationCode = inDto.EmailAuthorizationCode,
FromEmail=inDto.EmailFromEmail, FromEmail = inDto.EmailFromEmail,
FromName=inDto.EmailFromName, FromName = inDto.EmailFromName,
SMTPServerAddress=inDto.EmailSMTPServerAddress, SMTPServerAddress = inDto.EmailSMTPServerAddress,
SMTPServerPort= inDto.EmailSMTPServerPort.Value, SMTPServerPort = inDto.EmailSMTPServerPort.Value,
TrialId=inDto.TrialId, TrialId = inDto.TrialId,
}); });
await _trialRepository.UpdatePartialFromQueryAsync(inDto.TrialId, x => new Trial() await _trialRepository.UpdatePartialFromQueryAsync(inDto.TrialId, x => new Trial()
@ -388,6 +389,17 @@ namespace IRaCIS.Core.Application.Service
answer = "是"; 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) 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) answer = questionAnsewer.Answer;
.Select(t=>t.Answer).ToListAsync(); if (string.IsNullOrEmpty(questionAnsewer.Answer))
if (questionAnsewerList.Any(t => t.Answer == ((int)OverallAssessment.PD).ToString()) || answerList.Any(t => t == ((int)OverallAssessment.PD).ToString()))
{ {
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) else if (readingCategory == ReadingCategory.Judge)
{ {
@ -847,7 +854,7 @@ namespace IRaCIS.Core.Application.Service
[HttpPost] [HttpPost]
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery) public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
{ {
await SyncSystemEmainCofigDocListAsync(inQuery.TrialId);
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId) var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
.WhereIf(inQuery.IsDistinguishCriteria == false, t => t.TrialReadingCriterionId == null) .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 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(); 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(); //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() await InsertInspection<Trial>(item.Entity as Trial, type, x => new InspectionConvertDTO()
{ {
TrialId = x.Id, TrialId = x.Id,
ExtraIndentification= extraIdentification,
}, new }, new
{ {
//TrialDicList = string.Join(",", trialDics) //TrialDicList = string.Join(",", trialDics)
@ -145,6 +170,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
ClinicalDataSetNames = clinicalDataSetNameList.Count() > 0 ? string.Join(",", clinicalDataSetNameList) : String.Empty, 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); type = type + (basicData.ParentId == null ? "/parent" : string.Empty);
break; break;
case nameof(Trial): //case nameof(Trial):
var trial = entityObj as Trial; // var trial = entityObj as Trial;
Guid id = trial.Id; // Guid id = trial.Id;
var oldentity = await _dbContext.Trial.Where(x => x.Id == id).Select(t => new { t.IsTrialBasicLogicConfirmed, t.IsTrialProcessConfirmed, t.IsTrialUrgentConfirmed }).FirstOrDefaultAsync(); // var oldentity = await _dbContext.Trial.Where(x => x.Id == id).Select(t => new { t.IsTrialBasicLogicConfirmed, t.IsTrialProcessConfirmed, t.IsTrialUrgentConfirmed }).FirstOrDefaultAsync();
switch (_userInfo.RequestUrl.ToLower()) // switch (_userInfo.RequestUrl.ToLower())
{ // {
case "configtrialbasicinfo/configtrialbasicinfoconfirm": // case "configtrialbasicinfo/configtrialbasicinfoconfirm":
type = type + "/" + oldentity.IsTrialBasicLogicConfirmed.ToString(); // type = type + "/" + oldentity.IsTrialBasicLogicConfirmed.ToString();
break; // break;
//case "configtrialbasicinfo/configtrialprocessinfoconfirm": // //case "configtrialbasicinfo/configtrialprocessinfoconfirm":
// type = type + "/" + oldentity.IsTrialProcessConfirmed.ToString(); // // type = type + "/" + oldentity.IsTrialProcessConfirmed.ToString();
// // break;
// case "configtrialbasicinfo/configtrialurgentinfoconfirm":
// type = type + "/" + oldentity.IsTrialUrgentConfirmed.ToString();
// break;
// }
// break; // break;
case "configtrialbasicinfo/configtrialurgentinfoconfirm":
type = type + "/" + oldentity.IsTrialUrgentConfirmed.ToString();
break;
}
break;
//case nameof(ReadingQuestionTrial): //case nameof(ReadingQuestionTrial):