Merge branch 'Test.Study' into Uat.Study
commit
ca9be92525
|
@ -21,7 +21,7 @@
|
||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Test_Study"
|
"ASPNETCORE_ENVIRONMENT": "Test_Study"
|
||||||
},
|
},
|
||||||
"applicationUrl": "http://localhost:6100"
|
"applicationUrl": "http://localhost:6000"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -10558,6 +10558,20 @@
|
||||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.ReplaceQCTaskActionUser(System.Guid,System.Guid)">
|
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.ReplaceQCTaskActionUser(System.Guid,System.Guid)">
|
||||||
<summary>替换当前领取人 </summary>
|
<summary>替换当前领取人 </summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.CollectNextIQCQuality(IRaCIS.Core.Application.Contracts.GetNextIQCQualityInDto)">
|
||||||
|
<summary>
|
||||||
|
领取下一个质控任务
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.GetNextIQCQuality(IRaCIS.Core.Application.Contracts.GetNextIQCQualityInDto)">
|
||||||
|
<summary>
|
||||||
|
获取下一个质控任务
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.ObtainOrCancelQCTask(System.Guid,System.Guid,System.Boolean)">
|
<member name="M:IRaCIS.Core.Application.Image.QA.QCOperationService.ObtainOrCancelQCTask(System.Guid,System.Guid,System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
手动领取 或者取消 QC任务
|
手动领取 或者取消 QC任务
|
||||||
|
|
|
@ -60,6 +60,21 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public Guid? HandleUserId { get; set; }
|
public Guid? HandleUserId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class GetNextIQCQualityInDto
|
||||||
|
{
|
||||||
|
[NotDefault]
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
public Guid SubjectId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetNextIQCQualityOutDto
|
||||||
|
{
|
||||||
|
public Guid? SubjectId { get; set; }
|
||||||
|
|
||||||
|
public Guid? VisitId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public class CRCRequestToQCCommand
|
public class CRCRequestToQCCommand
|
||||||
{
|
{
|
||||||
|
@ -105,6 +120,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
public bool IsEnrollementQualificationConfirm { get; set; }
|
public bool IsEnrollementQualificationConfirm { get; set; }
|
||||||
public bool IsPDProgressView { get; set; }
|
public bool IsPDProgressView { get; set; }
|
||||||
|
|
||||||
|
public string VisitBaseDataDes { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string OutEnrollmentVisitName { get; set; } = String.Empty;
|
public string OutEnrollmentVisitName { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
|
|
@ -878,6 +878,109 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
return ResponseOutput.Result(success);
|
return ResponseOutput.Result(success);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 领取下一个质控任务
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<GetNextIQCQualityOutDto> CollectNextIQCQuality(GetNextIQCQualityInDto inDto)
|
||||||
|
{
|
||||||
|
var nextIQCQuality = await this.GetNextIQCQuality(inDto);
|
||||||
|
|
||||||
|
if (nextIQCQuality.VisitId != null)
|
||||||
|
{
|
||||||
|
var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstOrDefaultAsync();
|
||||||
|
if (!visit.IsTake)
|
||||||
|
{
|
||||||
|
await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return nextIQCQuality;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取下一个质控任务
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<GetNextIQCQualityOutDto> GetNextIQCQuality(GetNextIQCQualityInDto inDto)
|
||||||
|
{
|
||||||
|
var trialConfig = await _trialRepository
|
||||||
|
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
|
||||||
|
.FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId)
|
||||||
|
.IfNullThrowException();
|
||||||
|
|
||||||
|
SubjectVisit? subjectVisit = null;
|
||||||
|
List<SubjectVisit>? visitList = null;
|
||||||
|
switch (trialConfig.QCProcessEnum)
|
||||||
|
{
|
||||||
|
case TrialQCProcess.NotAudit:
|
||||||
|
return new GetNextIQCQualityOutDto() { };
|
||||||
|
break;
|
||||||
|
case TrialQCProcess.SingleAudit:
|
||||||
|
visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))).Include(x => x.Subject).ToListAsync();
|
||||||
|
|
||||||
|
subjectVisit = visitList.Where(x => x.SubjectId == inDto.SubjectId).OrderBy(x => x.VisitNum).FirstOrDefault();
|
||||||
|
if (subjectVisit != null)
|
||||||
|
{
|
||||||
|
return new GetNextIQCQualityOutDto()
|
||||||
|
{
|
||||||
|
SubjectId = subjectVisit.SubjectId,
|
||||||
|
VisitId = subjectVisit.Id
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
subjectVisit = visitList.OrderBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).FirstOrDefault();
|
||||||
|
if (subjectVisit != null)
|
||||||
|
{
|
||||||
|
return new GetNextIQCQualityOutDto()
|
||||||
|
{
|
||||||
|
SubjectId = subjectVisit.SubjectId,
|
||||||
|
VisitId = subjectVisit.Id
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return new GetNextIQCQualityOutDto() { };
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case TrialQCProcess.DoubleAudit:
|
||||||
|
|
||||||
|
visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId != _userInfo.Id && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.QCPassed))).Include(x => x.Subject).ToListAsync();
|
||||||
|
if (subjectVisit != null)
|
||||||
|
{
|
||||||
|
return new GetNextIQCQualityOutDto()
|
||||||
|
{
|
||||||
|
SubjectId = subjectVisit.SubjectId,
|
||||||
|
VisitId = subjectVisit.Id
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
subjectVisit = visitList.OrderBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).FirstOrDefault();
|
||||||
|
if (subjectVisit != null)
|
||||||
|
{
|
||||||
|
return new GetNextIQCQualityOutDto()
|
||||||
|
{
|
||||||
|
SubjectId = subjectVisit.SubjectId,
|
||||||
|
VisitId = subjectVisit.Id
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return new GetNextIQCQualityOutDto() { };
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return new GetNextIQCQualityOutDto() { };
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 手动领取 或者取消 QC任务
|
/// 手动领取 或者取消 QC任务
|
||||||
|
|
|
@ -499,6 +499,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public Guid VisitTaskId { get; set; }
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ReadingTableAnswerRowInfoBase
|
public class ReadingTableAnswerRowInfoBase
|
||||||
|
@ -719,6 +724,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
{
|
{
|
||||||
[NotDefault]
|
[NotDefault]
|
||||||
public Guid VisitTaskId { get; set; }
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetReadingTableQuestionOutDto
|
public class GetReadingTableQuestionOutDto
|
||||||
|
@ -795,6 +805,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public List<OrganInfo> OrganInfos { get; set; } = new List<OrganInfo>();
|
public List<OrganInfo> OrganInfos { get; set; } = new List<OrganInfo>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
public bool IsGetallQuestion { get; set; } = false;
|
public bool IsGetallQuestion { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -947,6 +961,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
public Guid VisitTaskId { get; set; }
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -336,6 +336,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单位
|
/// 单位
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -439,6 +444,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据来源
|
/// 数据来源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -974,6 +984,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单位
|
/// 单位
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1038,6 +1053,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备注
|
/// 备注
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1555,6 +1575,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 限制编辑
|
/// 限制编辑
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1901,6 +1926,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据来源
|
/// 数据来源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
|
|
||||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||||
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Contracts
|
namespace IRaCIS.Core.Application.Contracts
|
||||||
{
|
{
|
||||||
|
@ -22,7 +23,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
Task<GetGlobalReadingInfoOutDto> GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto);
|
Task<GetGlobalReadingInfoOutDto> GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto);
|
||||||
|
|
||||||
|
|
||||||
Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId);
|
Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId,QuestionClassify? questionClassify);
|
||||||
|
|
||||||
Task<GetReadingTableQuestionOutDto> GetReadingTableQuestion(GetReadingTableQuestionOrAnswerInDto inDto);
|
Task<GetReadingTableQuestionOutDto> GetReadingTableQuestion(GetReadingTableQuestionOrAnswerInDto inDto);
|
||||||
|
|
||||||
|
|
|
@ -704,7 +704,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
//await AddDefaultValueToTask(inDto.VisitTaskId);
|
//await AddDefaultValueToTask(inDto.VisitTaskId);
|
||||||
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||||
var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id);
|
var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id, inDto.QuestionClassify);
|
||||||
|
|
||||||
return (result, new
|
return (result, new
|
||||||
{
|
{
|
||||||
|
@ -720,7 +720,7 @@ namespace IRaCIS.Application.Services
|
||||||
/// <param name="visitTaskId"></param>
|
/// <param name="visitTaskId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[NonDynamicMethod]
|
[NonDynamicMethod]
|
||||||
public async Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId)
|
public async Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId, QuestionClassify? questionClassify)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
@ -729,6 +729,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
//排除表格问题
|
//排除表格问题
|
||||||
var questions = await _readingQuestionTrialRepository
|
var questions = await _readingQuestionTrialRepository
|
||||||
|
.WhereIf(questionClassify!=null,x=>x.QuestionClassify== questionClassify)
|
||||||
.WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
|
.WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
|
||||||
.WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
|
.WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
|
||||||
|
|
||||||
|
@ -893,6 +894,7 @@ namespace IRaCIS.Application.Services
|
||||||
TableAnswers = tableAnswers,
|
TableAnswers = tableAnswers,
|
||||||
TableAnsweRowInfos = tableAnsweRowInfos,
|
TableAnsweRowInfos = tableAnsweRowInfos,
|
||||||
OrganInfos = organList,
|
OrganInfos = organList,
|
||||||
|
QuestionClassify=inDto.QuestionClassify,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -943,7 +945,8 @@ namespace IRaCIS.Application.Services
|
||||||
TableAnswers = tableAnswers,
|
TableAnswers = tableAnswers,
|
||||||
TableAnsweRowInfos = tableAnsweRowInfos,
|
TableAnsweRowInfos = tableAnsweRowInfos,
|
||||||
IsGetallQuestion = true,
|
IsGetallQuestion = true,
|
||||||
OrganInfos = organList
|
OrganInfos = organList,
|
||||||
|
QuestionClassify=inDto.QuestionClassify,
|
||||||
|
|
||||||
}
|
}
|
||||||
), new
|
), new
|
||||||
|
@ -964,7 +967,9 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||||
|
|
||||||
var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider, new
|
var qusetionList = await _readingQuestionTrialRepository
|
||||||
|
.WhereIf(inDto.QuestionClassify!=null,x=>x.QuestionClassify==inDto.QuestionClassify)
|
||||||
|
.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider, new
|
||||||
{
|
{
|
||||||
|
|
||||||
isEn_Us = _userInfo.IsEn_Us
|
isEn_Us = _userInfo.IsEn_Us
|
||||||
|
@ -1040,7 +1045,9 @@ namespace IRaCIS.Application.Services
|
||||||
var groupList = new List<TrialReadQuestionData>();
|
var groupList = new List<TrialReadQuestionData>();
|
||||||
var qusetionIds = qusetionList.Select(x => x.Id).ToList();
|
var qusetionIds = qusetionList.Select(x => x.Id).ToList();
|
||||||
|
|
||||||
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => qusetionIds.Contains(x.ReadingQuestionId))
|
var tableQuestionList = await _readingTableQuestionTrialRepository
|
||||||
|
.WhereIf(inDto.QuestionClassify != null, x => x.QuestionClassify == inDto.QuestionClassify)
|
||||||
|
.Where(x => qusetionIds.Contains(x.ReadingQuestionId))
|
||||||
.ProjectTo<TableQuestionTrial>(_mapper.ConfigurationProvider, new
|
.ProjectTo<TableQuestionTrial>(_mapper.ConfigurationProvider, new
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -1615,7 +1615,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
||||||
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
||||||
&&x.DoctorUserId==inDto.DoctorUserId
|
//&&x.DoctorUserId==inDto.DoctorUserId
|
||||||
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
||||||
.Select(x => x.Id).FirstOrDefaultAsync();
|
.Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
@ -1715,7 +1715,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var lastTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
var lastTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||||
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
||||||
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
|
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
|
||||||
x.DoctorUserId == taskinfo.DoctorUserId &&
|
//x.DoctorUserId == taskinfo.DoctorUserId &&
|
||||||
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
|
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
|
||||||
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
|
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
|
||||||
&& x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
|
&& x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
|
||||||
|
@ -1745,7 +1745,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var firstChangeVisitTaskNum = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
var firstChangeVisitTaskNum = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||||
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
||||||
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
|
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
|
||||||
x.DoctorUserId == taskinfo.DoctorUserId &&
|
//x.DoctorUserId == taskinfo.DoctorUserId &&
|
||||||
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
|
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
|
||||||
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
|
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum
|
||||||
&& x.BeforeConvertedTaskId != null && x.TaskState == TaskState.Effect
|
&& x.BeforeConvertedTaskId != null && x.TaskState == TaskState.Effect
|
||||||
|
@ -1755,7 +1755,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
compareTaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
compareTaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||||
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
||||||
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
|
x.IsAnalysisCreate == taskinfo.IsAnalysisCreate &&
|
||||||
x.DoctorUserId == taskinfo.DoctorUserId &&
|
//x.DoctorUserId == taskinfo.DoctorUserId &&
|
||||||
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
|
x.IsSelfAnalysis == taskinfo.IsSelfAnalysis &&
|
||||||
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum &&
|
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum &&
|
||||||
x.VisitTaskNum >= firstChangeVisitTaskNum && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
|
x.VisitTaskNum >= firstChangeVisitTaskNum && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect
|
||||||
|
|
|
@ -976,7 +976,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||||
siteVisitForTumorList = await _visitTaskRepository.Where(x => (x.ReadingCategory == ReadingCategory.Visit &&
|
siteVisitForTumorList = await _visitTaskRepository.Where(x => (x.ReadingCategory == ReadingCategory.Visit &&
|
||||||
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
||||||
x.DoctorUserId== taskinfo.DoctorUserId&&
|
//x.DoctorUserId== taskinfo.DoctorUserId&&
|
||||||
x.IsAnalysisCreate==inDto.IsAnalysisCreate&&
|
x.IsAnalysisCreate==inDto.IsAnalysisCreate&&
|
||||||
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum <= taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect && x.ArmEnum == taskinfo.ArmEnum
|
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum <= taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect && x.ArmEnum == taskinfo.ArmEnum
|
||||||
)||x.Id== inDto.VisitTaskId).OrderByDescending(x => x.VisitTaskNum).Select(x => new SiteVisitForTumor()
|
)||x.Id== inDto.VisitTaskId).OrderByDescending(x => x.VisitTaskNum).Select(x => new SiteVisitForTumor()
|
||||||
|
|
|
@ -1285,7 +1285,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
||||||
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
||||||
&&x.DoctorUserId==inDto.DoctorUserId
|
//&&x.DoctorUserId==inDto.DoctorUserId
|
||||||
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
||||||
.Select(x => x.Id).FirstOrDefaultAsync();
|
.Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
|
@ -1280,7 +1280,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
||||||
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
||||||
&&x.DoctorUserId==inDto.DoctorUserId
|
//&&x.DoctorUserId==inDto.DoctorUserId
|
||||||
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
||||||
.Select(x => x.Id).FirstOrDefaultAsync();
|
.Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public string Modalitys { get; set; } = string.Empty;
|
public string Modalitys { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string VisitBaseDataDes { get; set; }
|
||||||
|
|
||||||
public List<string> ModalityList { get; set; } = new List<string>();
|
public List<string> ModalityList { get; set; } = new List<string>();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,8 @@ namespace IRaCIS.Application.Contracts
|
||||||
|
|
||||||
public bool IsPDProgressView { get; set; }
|
public bool IsPDProgressView { get; set; }
|
||||||
|
|
||||||
|
public string VisitBaseDataDes { get; set; }
|
||||||
|
|
||||||
public bool IsSubjectSecondCodeView { get; set; } = false;
|
public bool IsSubjectSecondCodeView { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -297,6 +297,18 @@ namespace IRaCIS.Core.Domain.Share
|
||||||
Automatic = 1
|
Automatic = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public enum QuestionClassify
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// PET
|
||||||
|
/// </summary>
|
||||||
|
PET = 0,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
|
|
|
@ -202,6 +202,10 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? FileType { get; set; }
|
public string? FileType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("GroupId")]
|
[ForeignKey("GroupId")]
|
||||||
|
|
|
@ -261,6 +261,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? GroupId { get; set; }
|
public Guid? GroupId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("GroupId")]
|
[ForeignKey("GroupId")]
|
||||||
public ReadingQuestionTrial GroupInfo { get; set; }
|
public ReadingQuestionTrial GroupInfo { get; set; }
|
||||||
|
|
|
@ -173,6 +173,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? FileType { get; set; }
|
public string? FileType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
[ForeignKey("DependParentId")]
|
[ForeignKey("DependParentId")]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
|
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
|
||||||
|
|
|
@ -195,6 +195,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? FileType { get; set; }
|
public string? FileType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 问题分类
|
||||||
|
/// </summary>
|
||||||
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("DependParentId")]
|
[ForeignKey("DependParentId")]
|
||||||
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
|
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
|
||||||
|
|
|
@ -299,6 +299,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public int PlanVisitCount { get; set; }
|
public int PlanVisitCount { get; set; }
|
||||||
|
|
||||||
|
public string VisitBaseDataDes { get; set; } = StaticData.International("Trial_VisitBaseDataDes");
|
||||||
|
|
||||||
|
|
||||||
public DateTime? TrialFinishedTime { get; set; }
|
public DateTime? TrialFinishedTime { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue