修改参数
This commit is contained in:
@@ -40,7 +40,7 @@ namespace IRaCIS.Application.Services
|
||||
/// <param name="addOrEditPreviousPDF"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> AddOrUpdatePreviousPDFService(PreviousPDFAddOrEdit addOrEditPreviousPDF)
|
||||
public async Task<IResponseOutput> AddOrUpdateReadingPreviousPDF(PreviousPDFAddOrEdit addOrEditPreviousPDF)
|
||||
{
|
||||
var entity = await _repository.InsertOrUpdateAsync<PreviousPDF, PreviousPDFAddOrEdit>(addOrEditPreviousPDF, true);
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
@@ -55,7 +55,7 @@ namespace IRaCIS.Application.Services
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<dynamic> PreviousPDFView(PreviousPDFInDto inDto)
|
||||
public async Task<dynamic> GetPreviousPDFList(PreviousPDFInDto inDto)
|
||||
{
|
||||
var list= await _previousPDFRepository.AsQueryable().Where(x => x.TrialId == inDto.TrialId)
|
||||
.Where(x => (x.ClinicalLevel == ClinicalLevel.Subject && x.SubjectId == inDto.SubjectId) || x.SubjectVisitId == inDto.VisitOrReadId)
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace IRaCIS.Application.Services
|
||||
[HttpPost]
|
||||
public async Task<(PageOutput<GetReadModuleDtoOut>,object)> GetReadModuleList(GetReadModuleDto dto)
|
||||
{
|
||||
var subjectquery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId)
|
||||
var subjectQuery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId)
|
||||
.WhereIf(dto.SubjectId != null, x => x.Id == dto.SubjectId)
|
||||
.Include(x => x.SubjectVisitList).Include(x=>x.Site).Include(x => x.TrialSite)
|
||||
.Select(x => new GetReadModuleDtoOut
|
||||
@@ -96,7 +96,7 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
|
||||
|
||||
var pageList = await subjectquery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null|| dto.SortField==string.Empty ? "SiteCode" : dto.SortField,
|
||||
var pageList = await subjectQuery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null|| dto.SortField==string.Empty ? "SiteCode" : dto.SortField,
|
||||
dto.Asc);
|
||||
|
||||
|
||||
@@ -109,9 +109,9 @@ namespace IRaCIS.Application.Services
|
||||
}
|
||||
});
|
||||
|
||||
var subjectisd = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
|
||||
var subjectIds = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
|
||||
|
||||
var readModules =await _readModuleRepository.Where(x => subjectisd.Contains(x.SubjectId)).Include(x=>x.SubjectVisit)
|
||||
var readModules =await _readModuleRepository.Where(x => subjectIds.Contains(x.SubjectId)).Include(x=>x.SubjectVisit)
|
||||
.Include(x => x.ReadModuleModel).ToListAsync();
|
||||
|
||||
pageList.CurrentPageData.ForEach(x => {
|
||||
@@ -164,7 +164,7 @@ namespace IRaCIS.Application.Services
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetReadModuleSingleOutdto> GetReadModuleSingle(GetReadModuleSingleIndto dto)
|
||||
public async Task<GetReadModuleSingleOutdto> GetReadModule(GetReadModuleSingleIndto dto)
|
||||
{
|
||||
var data = await GetReadModuleList(new GetReadModuleDto()
|
||||
{
|
||||
@@ -214,15 +214,15 @@ namespace IRaCIS.Application.Services
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<GetSubjectReadVisitsOutDto>> GetSubjectReadVisits(GetSubjectReadVisitsInDto inDto)
|
||||
public async Task<List<GetSubjectReadVisitsOutDto>> GetSubjectReadVisitList(GetSubjectReadVisitsInDto inDto)
|
||||
{
|
||||
var visitquery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.SubmitState != SubmitStateEnum.None);
|
||||
var visitQuery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.SubmitState != SubmitStateEnum.None);
|
||||
|
||||
var finalVisitNum = await visitquery.Where(x => x.IsFinalVisit).Select(x => x.VisitNum).FirstOrDefaultAsync();
|
||||
var finalVisitNum = await visitQuery.Where(x => x.IsFinalVisit).Select(x => x.VisitNum).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
var readModulequery = _readModuleRepository.AsQueryable();
|
||||
return await visitquery.WhereIf(finalVisitNum != null, x => x.VisitNum < finalVisitNum)
|
||||
return await visitQuery.WhereIf(finalVisitNum != null, x => x.VisitNum < finalVisitNum)
|
||||
.Where(x => readModulequery.Where(y => y.SubjectVisitId == x.Id && y.ReadingSetType == inDto.ReadingSetType).Count() == 0).OrderBy(x => finalVisitNum)
|
||||
.Select(x => new GetSubjectReadVisitsOutDto()
|
||||
{
|
||||
@@ -240,13 +240,11 @@ namespace IRaCIS.Application.Services
|
||||
[HttpPost]
|
||||
public async Task<IResponseOutput> AddReadModule(ReadModuleAddDto dto)
|
||||
{
|
||||
var visitquery = _subjectVisitRepository.Where(x => x.SubjectId == dto.SubjectId && x.InPlan);
|
||||
var visitQuery = _subjectVisitRepository.Where(x => x.SubjectId == dto.SubjectId && x.InPlan);
|
||||
|
||||
visitquery = visitquery.WhereIf(dto.ExpirationDate != null, x => x.LatestScanDate <= dto.ExpirationDate.Value)
|
||||
visitQuery = visitQuery.WhereIf(dto.ExpirationDate != null, x => x.LatestScanDate <= dto.ExpirationDate.Value)
|
||||
.WhereIf(dto.ExpirationVisitNum != null, x => x.VisitNum <= dto.ExpirationVisitNum.Value);
|
||||
|
||||
|
||||
var visit = visitquery.OrderByDescending(x => x.VisitNum).FirstOrDefault();
|
||||
var visit = visitQuery.OrderByDescending(x => x.VisitNum).FirstOrDefault();
|
||||
|
||||
if (visit != null)
|
||||
{
|
||||
@@ -262,9 +260,7 @@ namespace IRaCIS.Application.Services
|
||||
Status = ReadingCommon.GetVisitSubmitStateEnum(visit),
|
||||
|
||||
});
|
||||
|
||||
var res = await _readModuleRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(res);
|
||||
}
|
||||
else
|
||||
@@ -297,7 +293,7 @@ namespace IRaCIS.Application.Services
|
||||
[HttpDelete("{readModuleId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteReadModule(Guid readModuleId)
|
||||
{
|
||||
var success = await _readModuleRepository.DeleteFromQueryAsync(t => t.Id == readModuleId, true);
|
||||
await _readModuleRepository.DeleteFromQueryAsync(t => t.Id == readModuleId, true);
|
||||
return ResponseOutput.Result(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -88,17 +88,17 @@ namespace IRaCIS.Application.Services
|
||||
await _readingPeriodPlanRepository.DeleteFromQueryAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId);
|
||||
await _readingPeriodPlanRepository.SaveChangesAsync();
|
||||
}
|
||||
var readset = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
var visitquery = _subjectVisitRepository.Where(x => x.TrialId == readset.TrialId && x.InPlan);
|
||||
if (readset.ReadingScope == ReadingScopeEnum.Site)
|
||||
var readSet = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
var visitQuery = _subjectVisitRepository.Where(x => x.TrialId == readSet.TrialId && x.InPlan);
|
||||
if (readSet.ReadingScope == ReadingScopeEnum.Site)
|
||||
{
|
||||
var siteids = readset.ReadingPeriodSites.Select(x => x.SiteId);
|
||||
visitquery = visitquery.Where(x => siteids.Contains(x.SiteId));
|
||||
var siteIds = readSet.ReadingPeriodSites.Select(x => x.SiteId);
|
||||
visitQuery = visitQuery.Where(x => siteIds.Contains(x.SiteId));
|
||||
}
|
||||
|
||||
visitquery = visitquery.WhereIf(readset.ExpirationDate != null, x => x.LatestScanDate <= readset.ExpirationDate.Value)
|
||||
.WhereIf(readset.ExpirationVisitNum != null, x => x.VisitNum <= readset.ExpirationVisitNum);
|
||||
var subjectVisits = await visitquery.Include(x => x.Subject).Include(x => x.TrialSite).GroupBy(x => x.SubjectId).Select(x => new
|
||||
visitQuery = visitQuery.WhereIf(readSet.ExpirationDate != null, x => x.LatestScanDate <= readSet.ExpirationDate.Value)
|
||||
.WhereIf(readSet.ExpirationVisitNum != null, x => x.VisitNum <= readSet.ExpirationVisitNum);
|
||||
var subjectVisits = await visitQuery.Include(x => x.Subject).Include(x => x.TrialSite).GroupBy(x => x.SubjectId).Select(x => new
|
||||
{
|
||||
SubjectId = x.Key,
|
||||
Visit = x.ToList()
|
||||
@@ -127,15 +127,15 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
});
|
||||
|
||||
return visits.Where(x => _readModuleRepository.Where(y => y.ReadingSetType == readset.ReadingSetType && x.Id == y.SubjectVisitId).Count() == 0)
|
||||
return visits.Where(x => _readModuleRepository.Where(y => y.ReadingSetType == readSet.ReadingSetType && x.Id == y.SubjectVisitId).Count() == 0)
|
||||
.Select(x => new PreviewTheReadingListOutDto
|
||||
{
|
||||
ExpirationDate= readset.ExpirationDate,
|
||||
ExpirationDate= readSet.ExpirationDate,
|
||||
SubjectVisitId= x.Id,
|
||||
TrialSiteCode = x.TrialSite.TrialSiteCode,
|
||||
LatestScanDate=x.LatestScanDate,
|
||||
ReadingPeriodName= readset.ReadingPeriodName,
|
||||
ReadingPeriodSetId=readset.Id,
|
||||
ReadingPeriodName= readSet.ReadingPeriodName,
|
||||
ReadingPeriodSetId= readSet.Id,
|
||||
SubjectCode=x.Subject.Code,
|
||||
SubjectId=x.SubjectId,
|
||||
SubjectVisitName=x.VisitName,
|
||||
@@ -148,7 +148,7 @@ namespace IRaCIS.Application.Services
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> ReadingToGenerate(ReadingToGenerateInDto inDto)
|
||||
public async Task<IResponseOutput> GenerateReadingTask(ReadingToGenerateInDto inDto)
|
||||
{
|
||||
//var readset = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowConvertException();
|
||||
//var visits = await _subjectVisitRepository.Where(x => inDto.SubjectVisitIds.Contains(x.Id)).ToListAsync();
|
||||
@@ -187,8 +187,8 @@ namespace IRaCIS.Application.Services
|
||||
await _readingPeriodPlanRepository.DeleteFromQueryAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId);
|
||||
await _readingPeriodPlanRepository.SaveChangesAsync();
|
||||
await _readingPeriodPlanRepository.AddRangeAsync(plans);
|
||||
var res = await _readingPeriodPlanRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(res);
|
||||
var result = await _readingPeriodPlanRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -226,11 +226,11 @@ namespace IRaCIS.Application.Services
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<ReadingPeriodSetView>> GetReadingPeriodSetList(ReadingPeriodSetQuery query)
|
||||
{
|
||||
var readquery =_readingPeriodSetRepository.AsQueryable().Include(x=>x.ReadingPeriodSites)
|
||||
var readQuery =_readingPeriodSetRepository.AsQueryable().Include(x=>x.ReadingPeriodSites)
|
||||
.WhereIf(query.TrialId!=null,x=>x.TrialId==query.TrialId)
|
||||
.WhereIf(query.ReadingPeriodName != null, x => x.ReadingPeriodName.Contains(query.ReadingPeriodName))
|
||||
.ProjectTo<ReadingPeriodSetView>(_mapper.ConfigurationProvider);
|
||||
var pageList= await readquery.ToPagedListAsync(query.PageIndex, query.PageSize, query.SortField == null ? "CreateTime" : query.SortField,
|
||||
var pageList= await readQuery.ToPagedListAsync(query.PageIndex, query.PageSize, query.SortField == null ? "CreateTime" : query.SortField,
|
||||
query.SortAsc);
|
||||
return pageList;
|
||||
}
|
||||
@@ -263,18 +263,13 @@ namespace IRaCIS.Application.Services
|
||||
{
|
||||
var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit)
|
||||
.Include(x => x.ReadingPeriodSet).ToList();
|
||||
|
||||
var needAddVisitIds = plans.Select(x => x.SubjectVisitId).ToList();
|
||||
|
||||
var repeatVisitNames = _readModuleRepository.Where(x => x.ReadingSetType == ReadingSetType.ImageReading && needAddVisitIds.Contains(x.SubjectVisitId)).Select(x => x.SubjectVisit.VisitName).ToList();
|
||||
|
||||
if(repeatVisitNames.Count!=0)
|
||||
{
|
||||
return ResponseOutput.NotOk($"{string.Join(",", repeatVisitNames)}已经添加过阅片期,无法设置生效");
|
||||
}
|
||||
|
||||
|
||||
|
||||
List<ReadModule> readModules = new List<ReadModule>();
|
||||
foreach (var item in plans)
|
||||
{
|
||||
@@ -293,17 +288,18 @@ namespace IRaCIS.Application.Services
|
||||
};
|
||||
|
||||
await _readModuleRepository.AddRangeAsync(readModules);
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
await _readModuleRepository.DeleteFromQueryAsync(x => x.ReadingPeriodSetId == indto.Id);
|
||||
}
|
||||
|
||||
var readquery =await _readingPeriodSetRepository.UpdatePartialFromQueryAsync(indto.Id, x => new ReadingPeriodSet() {
|
||||
var readQuery =await _readingPeriodSetRepository.UpdatePartialFromQueryAsync(indto.Id, x => new ReadingPeriodSet() {
|
||||
IsTakeEffect = indto.IsTakeEffect
|
||||
});
|
||||
|
||||
var res=await _readingPeriodSetRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(res);
|
||||
var result = await _readingPeriodSetRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user