S_014
parent
4c6315f2a5
commit
6dbfda36ee
|
@ -462,17 +462,41 @@ namespace IRaCIS.Core.Application.Service
|
|||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取CRC确认列表
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
/// <summary>
|
||||
/// 获取PM待确认列表
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<GetCRCConfirmListOutDto>> GetPMConfirmList(GetPMConfirmListInDto inDto)
|
||||
{
|
||||
return await GetCRCConfirmList(new GetCRCConfirmListInDto()
|
||||
{
|
||||
TrialId = inDto.TrialId,
|
||||
IsCRCConfirm = true,
|
||||
IsPMConfirm = false,
|
||||
PageIndex = inDto.PageIndex,
|
||||
PageSize = inDto.PageSize,
|
||||
Asc = inDto.Asc,
|
||||
SortField = inDto.SortField,
|
||||
TrialReadingCriterionId = inDto.TrialReadingCriterionId
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取CRC确认列表
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<GetCRCConfirmListOutDto>> GetCRCConfirmList(GetCRCConfirmListInDto inDto)
|
||||
{
|
||||
var query = _readModuleRepository.Where(x => x.TrialId == inDto.TrialId)
|
||||
.WhereIf(inDto.ReadModuleId != null, x => x.Id == inDto.ReadModuleId)
|
||||
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId)
|
||||
.WhereIf(inDto.IsCRCConfirm != null, x => x.IsCRCConfirm == inDto.IsCRCConfirm)
|
||||
.WhereIf(inDto.IsPMConfirm != null, x => x.IsCRCConfirm == inDto.IsPMConfirm)
|
||||
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId)
|
||||
.WhereIf(inDto.SubjectId != null, x => x.SubjectId == inDto.SubjectId)
|
||||
.Select(x => new GetCRCConfirmListOutDto()
|
||||
{
|
||||
|
|
|
@ -119,10 +119,21 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public string Answer { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class GetPMConfirmListInDto: PageInput
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
}
|
||||
|
||||
public class GetCRCConfirmListInDto:PageInput
|
||||
{
|
||||
|
||||
public Guid? TrialReadingCriterionId { get; set; }
|
||||
public bool? IsCRCConfirm { get; set; }
|
||||
|
||||
public bool? IsPMConfirm { get; set; }
|
||||
|
||||
public Guid? TrialReadingCriterionId { get; set; }
|
||||
|
||||
public Guid? SubjectId { get; set; }
|
||||
|
||||
|
|
|
@ -105,6 +105,10 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
public int? ToBeApprovalCount { get; set; }
|
||||
}
|
||||
|
||||
public class GetPMClinicalDataToBeDoneListOutDto: TrialBaseInfoDto
|
||||
{
|
||||
public int? ToBeApprovalCount { get; set; }
|
||||
}
|
||||
|
||||
public class ReviewerSelectToBeDoneQuery : PageInput
|
||||
{
|
||||
|
|
|
@ -294,6 +294,33 @@ namespace IRaCIS.Core.Application
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取PM核对临床数据
|
||||
/// </summary>
|
||||
/// <param name="inQuery"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput<PageOutput<GetPMClinicalDataToBeDoneListOutDto>>> GetPMClinicalDataToBeDoneList(ReviewerSelectToBeDoneQuery inQuery)
|
||||
{
|
||||
var query = _trialRepository
|
||||
.Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
.Select(t => new GetPMClinicalDataToBeDoneListOutDto()
|
||||
{
|
||||
TrialId = t.Id,
|
||||
ResearchProgramNo = t.ResearchProgramNo,
|
||||
ExperimentName = t.ExperimentName,
|
||||
TrialCode = t.TrialCode,
|
||||
|
||||
|
||||
ToBeApprovalCount = t.ReadModuleList.Where(u => u.IsCRCConfirm&&!u.IsPMConfirm).Count()
|
||||
});
|
||||
|
||||
var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(ReviewerSelectToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc);
|
||||
|
||||
|
||||
return ResponseOutput.Ok(result, new { ToBeApprovalCount = query.Sum(x=>x.ToBeApprovalCount) }); ;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
|
|
@ -119,11 +119,15 @@ namespace IRaCIS.Core.Domain.Models
|
|||
[ForeignKey("SubjectVisitId")]
|
||||
public SubjectVisit SubjectVisit { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
[ForeignKey("TrialId")]
|
||||
public Trial Trial { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阅片配置的类型
|
||||
/// </summary>
|
||||
public ReadingSetType ReadingSetType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 阅片配置的类型
|
||||
/// </summary>
|
||||
public ReadingSetType ReadingSetType { get; set; }
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -53,6 +53,8 @@ namespace IRaCIS.Core.Domain.Models
|
|||
public List<TrialSite> TrialSiteList { get; set; } = new List<TrialSite>();
|
||||
[JsonIgnore]
|
||||
public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
|
||||
[JsonIgnore]
|
||||
public List<ReadModule> ReadModuleList { get; set; } = new List<ReadModule>();
|
||||
|
||||
|
||||
public Guid IndicationTypeId { get; set; } = Guid.Empty;
|
||||
|
|
Loading…
Reference in New Issue