Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
commit
fda332f424
|
@ -8450,7 +8450,7 @@
|
|||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.DoctorService.AddDoctorCriterionFile(IRaCIS.Application.Contracts.AddDoctorCriterionFileDto)">
|
||||
<summary>
|
||||
添加医生标准文件
|
||||
添加修改医生标准文件
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
|
@ -10143,7 +10143,7 @@
|
|||
文件类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Application.Contracts.CriterionReadingCategory.ToDoQuantity">
|
||||
<member name="P:IRaCIS.Application.Contracts.CriterionReadingCategory.PendingCount">
|
||||
<summary>
|
||||
待办数量
|
||||
</summary>
|
||||
|
|
|
@ -286,6 +286,8 @@ namespace IRaCIS.Application.Services
|
|||
var needSignCount = 0;
|
||||
var haveSignedCount = _readingClinicalDataRepository.Where(t => t.TrialId==trialId && t.IsSign && t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned && t.ReadingId == readingId && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM).Count();
|
||||
|
||||
Expression<Func<VisitTask, bool>> visitTaskLambda = x => x.TrialId == trialId && x.SubjectId == subjectId && x.TrialReadingCriterionId == trialReadingCritrialId;
|
||||
|
||||
if (isVisit)
|
||||
{
|
||||
var isBaseLine = await _subjectVisitRepository.Where(t => t.Id == readingId).Select(t => t.IsBaseLine).FirstOrDefaultAsync();
|
||||
|
@ -310,7 +312,7 @@ namespace IRaCIS.Application.Services
|
|||
IsClinicalDataSign = true
|
||||
});
|
||||
|
||||
Expression<Func<VisitTask, bool>> visitTaskLambda = x => x.TrialId == trialId && x.SubjectId == subjectId && x.TrialReadingCriterionId == trialReadingCritrialId;
|
||||
|
||||
|
||||
|
||||
var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务
|
||||
|
@ -348,6 +350,15 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
IsClinicalDataSign = true
|
||||
});
|
||||
|
||||
var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务
|
||||
//小于自己任务号的任务 存在需要签名 但是没签名
|
||||
.Where(t => t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum)).Select(t => t.Id);
|
||||
|
||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => visitTaskIdQueryable.Contains(t.Id), u => new VisitTask()
|
||||
{
|
||||
IsFrontTaskNeedSignButNotSign = true
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -249,9 +249,12 @@ inner join SubjectVisit on VisitTask.SourceSubjectVisitId=SubjectVisit.Id
|
|||
|
||||
where VisitTask.ReadingCategory=1 and SubjectVisit.IsBaseLine=1
|
||||
and EXISTS (select * from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1))
|
||||
and (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1))
|
||||
and (select count(*) from ClinicalDataTrialSet where TrialId=VisitTask.TrialId and CriterionEnumListStr LIKE '%'+ CAST(ReadingQuestionCriterionTrial.CriterionType AS varchar(20))+'%' and (ClinicalDataLevel=0 or ClinicalDataLevel=1)
|
||||
)
|
||||
=(select count(*) from ReadingClinicalData inner join ClinicalDataTrialSet on ReadingClinicalData.ClinicalDataTrialSetId =ClinicalDataTrialSet.Id
|
||||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId and ClinicalDataTrialSet.UploadRole=1)
|
||||
where ReadingClinicalData.TrialId=VisitTask.TrialId and IsSign=1 and ReadingClinicalDataState=3 and ReadingId=VisitTask.SourceSubjectVisitId
|
||||
-- and ClinicalDataTrialSet.UploadRole=1 有可能仅仅CRC Subject级别 需要签名 CRC自动签名了 没有PM需要签名的文档 此时应该设置为已签署
|
||||
)
|
||||
|
||||
|
||||
--非基线
|
||||
|
@ -293,16 +296,15 @@ inner join ReadModule on VisitTask.SouceReadModuleId=ReadModule.Id
|
|||
|
||||
|
||||
--处理字段 IsFrontTaskNeedSignButNotSign
|
||||
|
||||
UPDATE v SET [v].[IsFrontTaskNeedSignButNotSign] =1
|
||||
FROM [VisitTask] AS [v]
|
||||
WHERE EXISTS (
|
||||
|
||||
SELECT 1
|
||||
FROM [VisitTask] AS [v0]
|
||||
where [v0].SubjectId=v.SubjectId and [v0].TrialReadingCriterionId=V.TrialReadingCriterionId and [v0].TrialId=V.TrialId and
|
||||
|
||||
EXISTS(
|
||||
where [v0].SubjectId=v.SubjectId and [v0].TrialReadingCriterionId=V.TrialReadingCriterionId and [v0].TrialId=V.TrialId and EXISTS(
|
||||
SELECT 1
|
||||
FROM [VisitTask] AS [v1]
|
||||
WHERE [v1].SubjectId=v.SubjectId and V1.TrialReadingCriterionId=V.TrialReadingCriterionId and V1.TrialId=V.TrialId and [v1].[IsNeedClinicalDataSign]=1 and V1.IsClinicalDataSign=0 and V1.VisitTaskNum< [v0].[VisitTaskNum] AND [v0].[Id] = [v].[Id]
|
||||
))
|
||||
WHERE [v1].SubjectId=v.SubjectId and V1.TrialReadingCriterionId=V.TrialReadingCriterionId and V1.TrialId=V.TrialId and [v1].[IsNeedClinicalDataSign]=1 and V1.IsClinicalDataSign=0 and V1.VisitTaskNum< [v0].[VisitTaskNum]
|
||||
) AND [v0].[Id] = [v].[Id] )
|
Loading…
Reference in New Issue