代码修改

This commit is contained in:
he
2024-08-01 16:12:48 +08:00
parent 13acd950ad
commit 3561df7574
3 changed files with 83 additions and 4 deletions
@@ -12,6 +12,8 @@ using System.Linq.Dynamic.Core;
using Microsoft.Extensions.Logging;
using IRaCIS.Core.Infrastructure.Extention;
using System.Linq;
using BeetleX.Redis.Commands;
using NPOI.SS.Formula.Functions;
namespace IRaCIS.Application.Services
{
@@ -1124,7 +1126,7 @@ namespace IRaCIS.Application.Services
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<GetReadingClinicalDataListOutDto>> GetConsistencyAnalysisReadingClinicalDataList(GetConsistencyAnalysisReadingClinicalDataListInDto inDto)
public async Task<(List<GetReadingClinicalDataListOutDto>, object)> GetConsistencyAnalysisReadingClinicalDataList(GetConsistencyAnalysisReadingClinicalDataListInDto inDto)
{
var result = await this.GetClinicalDataList(new GetReadingOrTaskClinicalDataListInDto()
{
@@ -1134,7 +1136,7 @@ namespace IRaCIS.Application.Services
IsGetAllConsistencyAnalysis = false,
});
return result;
return (result,true);
}
@@ -1221,6 +1223,56 @@ namespace IRaCIS.Application.Services
}
}
/// <summary>
/// 一致性分析临床数据签名
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> SignConsistencyAnalysisReadingClinicalData(SignConsistencyAnalysisReadingClinicalDataInDto inDto)
{
var pdfCount = await _readingConsistentClinicalDataPDFRepository.Where(x => x.ReadingConsistentClinicalDataId == inDto.ConsistentClinicalDataId).CountAsync();
if (pdfCount == 0)
{
return ResponseOutput.NotOk(_localizer["ReadingClinicalData_NoHavePDF"]);
}
await _readingConsistentClinicalDataRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.ConsistentClinicalDataId, x => new ReadingConsistentClinicalData()
{
IsSign = true,
IsBlind = inDto.IsBlind,
IsComplete = inDto.IsComplete
});
await _readingClinicalDataPDFRepository.SaveChangesAsync();
return ResponseOutput.Ok(pdfCount);
}
/// <summary>
/// 一致性分析临床数据签名完设置任务为有效
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> SetTaskValid(SetTaskValidInDto inDto)
{
var visittask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
var readingId = visittask.SouceReadModuleId==null? visittask.SourceSubjectVisitId: visittask.SouceReadModuleId;
if (await _readingConsistentClinicalDataRepository.AnyAsync(x => x.ReadingId == readingId && x.IsSign == false))
{
return ResponseOutput.NotOk(_localizer["ReadingClinicalData_HaveUnsignedClinicalData"]);
}
await _visitTaskRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.VisitTaskId, x => new VisitTask()
{
TaskState = TaskState.Effect
});
await _visitTaskRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
#endregion
#region PDF