修改一版
							parent
							
								
									3d92ccf83a
								
							
						
					
					
						commit
						fbdda04913
					
				| 
						 | 
				
			
			@ -3078,6 +3078,13 @@
 | 
			
		|||
            <param name="inDto"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </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)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            分页获取
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -182,7 +182,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
        /// <returns></returns>
 | 
			
		||||
        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();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,8 +84,12 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
        /// <returns></returns>
 | 
			
		||||
        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 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)
 | 
			
		||||
            {
 | 
			
		||||
                var siteids = readset.ReadingPeriodSites.Select(x => x.SiteId);
 | 
			
		||||
| 
						 | 
				
			
			@ -180,7 +184,8 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                    ReadingPeriodSetId = inDto.ReadingPeriodSetId
 | 
			
		||||
                });
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            await _readingPeriodPlanRepository.DeleteFromQueryAsync(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId);
 | 
			
		||||
            await _readingPeriodPlanRepository.SaveChangesAsync();
 | 
			
		||||
            await _readingPeriodPlanRepository.AddRangeAsync(plans);
 | 
			
		||||
            var res = await _readingPeriodPlanRepository.SaveChangesAsync();
 | 
			
		||||
            return ResponseOutput.Result(res);
 | 
			
		||||
| 
						 | 
				
			
			@ -196,10 +201,10 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            var plans =await _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == inDto.ReadingPeriodSetId).Include(x => x.SubjectVisit).Include(x => x.SubjectVisit.TrialSite).Include(x => x.SubjectVisit.Subject)
 | 
			
		||||
                 .Include(x => x.ReadingPeriodSet).ToListAsync();
 | 
			
		||||
 | 
			
		||||
         return    plans.Select(x => new PreviewTheReadingListOutDto
 | 
			
		||||
               return  plans.Select(x => new PreviewTheReadingListOutDto
 | 
			
		||||
              {
 | 
			
		||||
                  ExpirationDate = x.ReadingPeriodSet.ExpirationDate,
 | 
			
		||||
                  SubjectVisitId = x.Id,
 | 
			
		||||
                  SubjectVisitId = x.SubjectVisitId,
 | 
			
		||||
                  TrialSiteCode = x.SubjectVisit.TrialSite.TrialSiteCode,
 | 
			
		||||
                  LatestScanDate =x.SubjectVisit.LatestScanDate,
 | 
			
		||||
                  ReadingPeriodName = x.ReadingPeriodSet.ReadingPeriodName,
 | 
			
		||||
| 
						 | 
				
			
			@ -207,6 +212,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                  SubjectCode = x.SubjectVisit.Subject.Code,
 | 
			
		||||
                  SubjectId = x.SubjectVisit.SubjectId,
 | 
			
		||||
                  SubjectVisitName = x.SubjectVisit.VisitName,
 | 
			
		||||
                 
 | 
			
		||||
                    //Remark= readset.Remark
 | 
			
		||||
                }).ToList();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -258,6 +264,8 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit)
 | 
			
		||||
                    .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>();
 | 
			
		||||
                foreach (var item in plans)
 | 
			
		||||
                {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,7 @@ using IRaCIS.Core.Application.Contracts;
 | 
			
		|||
using IRaCIS.Core.Application.Interfaces;
 | 
			
		||||
using IRaCIS.Core.Infrastructure;
 | 
			
		||||
using IRaCIS.Core.Application.Auth;
 | 
			
		||||
using IRaCIS.Core.Domain.Share.Reading;
 | 
			
		||||
 | 
			
		||||
namespace IRaCIS.Core.Application.Services
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -15,11 +16,15 @@ namespace IRaCIS.Core.Application.Services
 | 
			
		|||
    public class SubjectVisitService : BaseService, ISubjectVisitService
 | 
			
		||||
    {
 | 
			
		||||
        private readonly IRepository<SubjectVisit> _subjectVisitRepository;
 | 
			
		||||
        private readonly IRepository<ReadModule> _readModuleRepository;
 | 
			
		||||
        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;
 | 
			
		||||
            this._readModuleRepository = readModuleRepository;
 | 
			
		||||
            _subjectRepository = subjectRepository;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -74,6 +79,7 @@ namespace IRaCIS.Core.Application.Services
 | 
			
		|||
            else
 | 
			
		||||
            {
 | 
			
		||||
                dbBeforeEntity = await _subjectVisitRepository.UpdateFromDTOAsync(svCommand, false, false, verifyExp1, verifyExp2, verifyExp3);
 | 
			
		||||
               
 | 
			
		||||
 | 
			
		||||
                if (svCommand.PDState != dbBeforeEntity.PDState && dbBeforeEntity.SubmitState == SubmitStateEnum.Submitted)
 | 
			
		||||
                {
 | 
			
		||||
| 
						 | 
				
			
			@ -92,6 +98,21 @@ namespace IRaCIS.Core.Application.Services
 | 
			
		|||
                        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=
 | 
			
		||||
 | 
			
		||||
                //        });
 | 
			
		||||
                //    }
 | 
			
		||||
                //}
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue