Uat_Study
parent
b4b4c82e59
commit
529dc52823
|
@ -497,5 +497,68 @@ namespace IRaCIS.Core.Application.Service
|
|||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CRC 取消确认
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> CRCCancelConfirmClinical(CRCCancelConfirmClinicalInDto inDto)
|
||||
{
|
||||
var dataList = await this.GetCRCConfirmList(new GetCRCConfirmListInDto()
|
||||
{
|
||||
TrialId = inDto.TrialId
|
||||
});
|
||||
|
||||
var presentData = dataList.Where(x => x.ReadModuleId == inDto.ReadModuleId).First();
|
||||
|
||||
if (dataList.Any(x => x.IsPMConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType))
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前数据并非最后一条确认信息,无法取消!");
|
||||
}
|
||||
|
||||
if(presentData.IsPMConfirm)
|
||||
{
|
||||
throw new BusinessValidationFailedException("PM已确认,无法取消!");
|
||||
}
|
||||
|
||||
|
||||
await _readModuleRepository.UpdatePartialFromQueryAsync(x => presentData.ReadModuleId==x.Id, x => new ReadModule()
|
||||
{
|
||||
IsCRCConfirm = false
|
||||
});
|
||||
|
||||
await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x=>x.ReadModuleId== presentData.ReadModuleId);
|
||||
|
||||
await _readModuleCriterionFromRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PM确认临床数据
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> PMConfirmClinical(CRCConfirmClinicalInDto inDto)
|
||||
{
|
||||
var readModuleData = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync();
|
||||
if (!readModuleData.IsCRCConfirm)
|
||||
{
|
||||
throw new BusinessValidationFailedException("CRC还未确认数据,PM无法确认");
|
||||
}
|
||||
|
||||
await _readModuleRepository.UpdatePartialFromQueryAsync(x => inDto.ReadModuleId == x.Id, x => new ReadModule()
|
||||
{
|
||||
IsPMConfirm = false
|
||||
});
|
||||
|
||||
await _readModuleRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,7 +99,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public Guid TrialId { get; set; }
|
||||
}
|
||||
|
||||
public class CRCConfirmClinicalInDto
|
||||
public class CRCCancelConfirmClinicalInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public Guid ReadModuleId { get; set; }
|
||||
}
|
||||
|
||||
public class CRCConfirmClinicalInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue