diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs
index e9deab588..bbeaf4e35 100644
--- a/IRaCIS.Core.API/Controllers/InspectionController.cs
+++ b/IRaCIS.Core.API/Controllers/InspectionController.cs
@@ -308,11 +308,28 @@ namespace IRaCIS.Core.API.Controllers
}
- ///
- /// 提交结构化录入并签名
- ///
- ///
- ///
+ ///
+ /// PM签名一致性分析临床数据
+ ///
+ ///
+ ///
+ [HttpPost, Route("Inspection/ReadingClinicalData/SignConsistencyAnalysisReadingClinicalData")]
+ [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
+
+ [UnitOfWork]
+ public async Task SignConsistencyAnalysisReadingClinicalData(DataInspectionDto opt)
+ {
+ var singid = await _inspectionService.RecordSing(opt.SignInfo);
+ var result = await _readingClinicalDataService.SignConsistencyAnalysisReadingClinicalData(opt.Data);
+ await _inspectionService.CompletedSign(singid, result);
+ return result;
+ }
+
+ ///
+ /// 提交结构化录入并签名
+ ///
+ ///
+ ///
[HttpPost, Route("Inspection/ClinicalAnswer/SubmitClinicalFormAndSign")]
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
index cb6ef0f19..f33e41df5 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
@@ -733,10 +733,11 @@ namespace IRaCIS.Application.Services
if (inDto.ReadingId == null)
{
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
- inDto.ReadingId = visitTask.SouceReadModuleId ?? visitTask.SourceSubjectVisitId;
+
readingNameOrTaskBlindName = visitTask.TaskBlindName;
}
-
+ inDto.SelectIsSign = false;
+ var result = await GetClinicalDataList(inDto);
if (readingNameOrTaskBlindName.IsNullOrEmpty())
{
readingNameOrTaskBlindName = await _subjectVisitRepository.Where(x => x.Id == inDto.ReadingId).Select(x => x.VisitName).FirstOrDefaultAsync();
@@ -746,8 +747,7 @@ namespace IRaCIS.Application.Services
}
}
- inDto.SelectIsSign = false;
- var result = await GetClinicalDataList(inDto);
+
var readingIds = result.Select(x => x.ReadingId).ToList();
@@ -878,8 +878,9 @@ namespace IRaCIS.Application.Services
CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList,
TrialClinicalDataSetCriteriaList = x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList,
Id = x.Id,
- UploadRole = x.ClinicalDataTrialSet.UploadRole,
- IsCRCUpload = x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC,
+ // 这里现在都是PM上传的 前端会判断是否可以上传
+ UploadRole = UploadRole.PM,
+ IsCRCUpload = false,
IsBlind = x.IsBlind,
IsComplete = x.IsComplete,
FileCount = x.FileCount,
@@ -889,6 +890,8 @@ namespace IRaCIS.Application.Services
Id = y.Id,
FileName = y.FileName,
Path = y.Path,
+ Size=y.Size,
+ Type=y.Type,
CreateTime = y.CreateTime,
}).ToList(),
});
@@ -928,6 +931,8 @@ namespace IRaCIS.Application.Services
Id = y.Id,
FileName = y.FileName,
Path = y.Path,
+ Size = y.Size,
+ Type = y.Type,
CreateTime = y.CreateTime,
}).ToList(),
}).ToListAsync();
@@ -968,6 +973,8 @@ namespace IRaCIS.Application.Services
Id = y.Id,
FileName = y.FileName,
Path = y.Path,
+ Size = y.Size,
+ Type = y.Type,
CreateTime = y.CreateTime,
}).ToList(),
@@ -1245,7 +1252,8 @@ namespace IRaCIS.Application.Services
{
IsSign = true,
IsBlind = inDto.IsBlind,
- IsComplete = inDto.IsComplete
+ IsComplete = inDto.IsComplete,
+ ReadingClinicalDataState= ReadingClinicalDataStatus.HaveSigned,
});
await _readingClinicalDataPDFRepository.SaveChangesAsync();
return ResponseOutput.Ok(pdfCount);
diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs
index 795bab0fc..521a9d843 100644
--- a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs
@@ -29,5 +29,7 @@ namespace IRaCIS.Core.Application.Contracts
Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId);
+
+ Task SignConsistencyAnalysisReadingClinicalData(SignConsistencyAnalysisReadingClinicalDataInDto inDto);
}
}
\ No newline at end of file