修改一版

Uat_Study
he 2022-06-02 20:04:22 +08:00
parent 3d92ccf83a
commit fbdda04913
4 changed files with 42 additions and 6 deletions

View File

@ -3078,6 +3078,13 @@
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetPreviewTheReadingPlanList(IRaCIS.Core.Application.Service.Reading.Dto.PreviewTheReadingListInDto)">
<summary>
获取选中的计划
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetReadingPeriodSetList(IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetQuery)"> <member name="M:IRaCIS.Application.Services.ReadingPeriodSetService.GetReadingPeriodSetList(IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetQuery)">
<summary> <summary>
分页获取 分页获取

View File

@ -182,7 +182,7 @@ namespace IRaCIS.Application.Services
/// <returns></returns> /// <returns></returns>
public async Task<List<GetSubjectReadVisitsOutDto>> GetSubjectReadVisits(GetSubjectReadVisitsInDto inDto) public async Task<List<GetSubjectReadVisitsOutDto>> GetSubjectReadVisits(GetSubjectReadVisitsInDto inDto)
{ {
var visitquery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.LatestScanDate != null); 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();

View File

@ -84,8 +84,12 @@ namespace IRaCIS.Application.Services
/// <returns></returns> /// <returns></returns>
public async Task<List<PreviewTheReadingListOutDto>> GetPreviewTheReadingList(PreviewTheReadingListInDto inDto) public async Task<List<PreviewTheReadingListOutDto>> GetPreviewTheReadingList(PreviewTheReadingListInDto inDto)
{ {
if (await _readingPeriodPlanRepository.AnyAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId))
{
return await GetPreviewTheReadingPlanList(inDto);
}
var readset = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowConvertException(); var readset = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowConvertException();
var visitquery = _subjectVisitRepository.Where(x => x.TrialId == readset.TrialId && x.LatestScanDate != null && x.InPlan); var visitquery = _subjectVisitRepository.Where(x => x.TrialId == readset.TrialId && x.SubmitState != SubmitStateEnum.None && x.InPlan);
if (readset.ReadingScope == ReadingScopeEnum.Site) if (readset.ReadingScope == ReadingScopeEnum.Site)
{ {
var siteids = readset.ReadingPeriodSites.Select(x => x.SiteId); var siteids = readset.ReadingPeriodSites.Select(x => x.SiteId);
@ -180,7 +184,8 @@ namespace IRaCIS.Application.Services
ReadingPeriodSetId = inDto.ReadingPeriodSetId ReadingPeriodSetId = inDto.ReadingPeriodSetId
}); });
}); });
await _readingPeriodPlanRepository.DeleteFromQueryAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId);
await _readingPeriodPlanRepository.SaveChangesAsync();
await _readingPeriodPlanRepository.AddRangeAsync(plans); await _readingPeriodPlanRepository.AddRangeAsync(plans);
var res = await _readingPeriodPlanRepository.SaveChangesAsync(); var res = await _readingPeriodPlanRepository.SaveChangesAsync();
return ResponseOutput.Result(res); return ResponseOutput.Result(res);
@ -199,7 +204,7 @@ namespace IRaCIS.Application.Services
return plans.Select(x => new PreviewTheReadingListOutDto return plans.Select(x => new PreviewTheReadingListOutDto
{ {
ExpirationDate = x.ReadingPeriodSet.ExpirationDate, ExpirationDate = x.ReadingPeriodSet.ExpirationDate,
SubjectVisitId = x.Id, SubjectVisitId = x.SubjectVisitId,
TrialSiteCode = x.SubjectVisit.TrialSite.TrialSiteCode, TrialSiteCode = x.SubjectVisit.TrialSite.TrialSiteCode,
LatestScanDate =x.SubjectVisit.LatestScanDate, LatestScanDate =x.SubjectVisit.LatestScanDate,
ReadingPeriodName = x.ReadingPeriodSet.ReadingPeriodName, ReadingPeriodName = x.ReadingPeriodSet.ReadingPeriodName,
@ -207,6 +212,7 @@ namespace IRaCIS.Application.Services
SubjectCode = x.SubjectVisit.Subject.Code, SubjectCode = x.SubjectVisit.Subject.Code,
SubjectId = x.SubjectVisit.SubjectId, SubjectId = x.SubjectVisit.SubjectId,
SubjectVisitName = x.SubjectVisit.VisitName, SubjectVisitName = x.SubjectVisit.VisitName,
//Remark= readset.Remark //Remark= readset.Remark
}).ToList(); }).ToList();
} }
@ -258,6 +264,8 @@ namespace IRaCIS.Application.Services
var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit) var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit)
.Include(x => x.ReadingPeriodSet).ToList(); .Include(x => x.ReadingPeriodSet).ToList();
plans = plans.Where(x => _readModuleRepository.Where(y => x.SubjectVisitId == y.SubjectVisitId && x.ReadingPeriodSet.ReadingSetType == y.ReadingSetType).Count() == 0).ToList();
List<ReadModule> readModules = new List<ReadModule>(); List<ReadModule> readModules = new List<ReadModule>();
foreach (var item in plans) foreach (var item in plans)
{ {

View File

@ -8,6 +8,7 @@ using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Application.Auth; using IRaCIS.Core.Application.Auth;
using IRaCIS.Core.Domain.Share.Reading;
namespace IRaCIS.Core.Application.Services namespace IRaCIS.Core.Application.Services
{ {
@ -15,11 +16,15 @@ namespace IRaCIS.Core.Application.Services
public class SubjectVisitService : BaseService, ISubjectVisitService public class SubjectVisitService : BaseService, ISubjectVisitService
{ {
private readonly IRepository<SubjectVisit> _subjectVisitRepository; private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ReadModule> _readModuleRepository;
private readonly IRepository<Subject> _subjectRepository; private readonly IRepository<Subject> _subjectRepository;
public SubjectVisitService(IRepository<SubjectVisit> subjectVisitRepository, IRepository<Subject> subjectRepository) public SubjectVisitService(IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadModule> readModuleRepository,
IRepository<Subject> subjectRepository)
{ {
_subjectVisitRepository = subjectVisitRepository; _subjectVisitRepository = subjectVisitRepository;
this._readModuleRepository = readModuleRepository;
_subjectRepository = subjectRepository; _subjectRepository = subjectRepository;
} }
@ -75,6 +80,7 @@ namespace IRaCIS.Core.Application.Services
{ {
dbBeforeEntity = await _subjectVisitRepository.UpdateFromDTOAsync(svCommand, false, false, verifyExp1, verifyExp2, verifyExp3); dbBeforeEntity = await _subjectVisitRepository.UpdateFromDTOAsync(svCommand, false, false, verifyExp1, verifyExp2, verifyExp3);
if (svCommand.PDState != dbBeforeEntity.PDState && dbBeforeEntity.SubmitState == SubmitStateEnum.Submitted) if (svCommand.PDState != dbBeforeEntity.PDState && dbBeforeEntity.SubmitState == SubmitStateEnum.Submitted)
{ {
throw new BusinessValidationFailedException("当前访视影像提交后不允许修改PD确认状态。"); throw new BusinessValidationFailedException("当前访视影像提交后不允许修改PD确认状态。");
@ -92,6 +98,21 @@ namespace IRaCIS.Core.Application.Services
throw new BusinessValidationFailedException("当前访视已经有有影像上传,不允许设置为失访。"); throw new BusinessValidationFailedException("当前访视已经有有影像上传,不允许设置为失访。");
} }
} }
//// 末次访视添加全局阅片
//if (dbBeforeEntity.IsFinalVisit == false && svCommand.IsFinalVisit == true)
//{
// if (!await _readModuleRepository.AnyAsync(x => x.SubjectVisitId == svCommand.Id && x.ReadingSetType == ReadingSetType.ImageReading))
// {
// _readModuleRepository.AddAsync(new ReadModule()
// {
// IsUrgent= dbBeforeEntity.IsUrgent,
// SubjectVisitId= svCommand.Id.Value,
// Status=
// });
// }
//}
} }