Uat_Study
he 2022-08-12 17:41:06 +08:00
parent df755c4fed
commit e70ced8e2b
2 changed files with 13 additions and 11 deletions

View File

@ -14,10 +14,10 @@ namespace IRaCIS.Core.Application.ViewModel
{ {
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
/// <summary> ///// <summary>
/// 类型枚举 ///// 类型枚举
/// </summary> ///// </summary>
public OrganType OrganType { get; set; } //public OrganType OrganType { get; set; }
public List<Guid> OrganIds { get; set; } public List<Guid> OrganIds { get; set; }
} }
@ -53,7 +53,7 @@ namespace IRaCIS.Core.Application.ViewModel
/// <summary> /// <summary>
/// 类型枚举 /// 类型枚举
/// </summary> /// </summary>
public OrganType OrganType { get; set; } public OrganType? OrganType { get; set; }
} }
public class GetTrialCheckOrganList : GetTrialOrganListOutDto public class GetTrialCheckOrganList : GetTrialOrganListOutDto

View File

@ -81,13 +81,13 @@ namespace IRaCIS.Core.Application.Service
/// <returns></returns> /// <returns></returns>
public async Task<IResponseOutput> BatchAddTrialOrgan(BatchAddTrialOrganInDto inDto) public async Task<IResponseOutput> BatchAddTrialOrgan(BatchAddTrialOrganInDto inDto)
{ {
await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(t => t.TrialId==inDto.TrialId&&t.OrganType == inDto.OrganType); //await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(t => t.TrialId==inDto.TrialId&&t.OrganType == inDto.OrganType);
List<OrganTrialInfo> organTrialInfos = inDto.OrganIds.Select(x => new OrganTrialInfo() List<OrganTrialInfo> organTrialInfos = inDto.OrganIds.Select(x => new OrganTrialInfo()
{ {
OrganInfoId=x, OrganInfoId=x,
TrialId=inDto.TrialId, TrialId=inDto.TrialId,
OrganType=inDto.OrganType, //OrganType=inDto.OrganType,
}).ToList(); }).ToList();
@ -119,8 +119,9 @@ namespace IRaCIS.Core.Application.Service
[HttpPost] [HttpPost]
public async Task<List<GetTrialOrganListOutDto>> GetTrialOrganList(GetTrialOrganListInDto inDto) public async Task<List<GetTrialOrganListOutDto>> GetTrialOrganList(GetTrialOrganListInDto inDto)
{ {
var organInfoQueryable = from data in _organInfoRepository.Where(x => x.OrganType == inDto.OrganType) var organInfoQueryable = from data in _organInfoRepository.WhereIf(inDto.OrganType!=null, x => x.OrganType == inDto.OrganType)
join trialData in _organTrialInfoRepository.Where(x => x.TrialId == inDto.TrialId && x.OrganType == inDto.OrganType) join trialData in _organTrialInfoRepository.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
.Where(x => x.TrialId == inDto.TrialId)
on data.Id equals trialData.OrganInfoId on data.Id equals trialData.OrganInfoId
select new GetTrialOrganListOutDto() select new GetTrialOrganListOutDto()
{ {
@ -147,8 +148,9 @@ namespace IRaCIS.Core.Application.Service
[HttpPost] [HttpPost]
public async Task<List<GetTrialCheckOrganList>> GetTrialCheckOrganList(GetTrialOrganListInDto inDto) public async Task<List<GetTrialCheckOrganList>> GetTrialCheckOrganList(GetTrialOrganListInDto inDto)
{ {
var organInfoQueryable = from data in _organInfoRepository.Where(x => x.OrganType == inDto.OrganType) var organInfoQueryable = from data in _organInfoRepository.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
join trialData in _organTrialInfoRepository.Where(x => x.TrialId == inDto.TrialId && x.OrganType == inDto.OrganType) join trialData in _organTrialInfoRepository.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
.Where(x => x.TrialId == inDto.TrialId)
on data.Id equals trialData.OrganInfoId into jtemp on data.Id equals trialData.OrganInfoId into jtemp
from leftjoin in jtemp.DefaultIfEmpty() from leftjoin in jtemp.DefaultIfEmpty()
select new GetTrialCheckOrganList() select new GetTrialCheckOrganList()