整理仓储2
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
7867a82e6e
commit
a43ef376c4
|
@ -492,7 +492,7 @@ namespace IRaCIS.Core.API.Controllers
|
|||
studyMonitor.IP = _userInfo.IP;
|
||||
studyMonitor.IsSuccess = true;
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _noneDicomStudyRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
|
|
@ -42,9 +42,9 @@ namespace IRaCIS.Core.Application.Helper
|
|||
return statusStr;
|
||||
}
|
||||
|
||||
public static async Task<List<SystemAnonymization>> GetSystemAnonymizationListAsync(IRepository _repository)
|
||||
public static async Task<List<SystemAnonymization>> GetSystemAnonymizationListAsync(IRepository<SystemAnonymization> _systemAnonymizationRepository)
|
||||
{
|
||||
var list = await _repository.Where<SystemAnonymization>(t => t.IsEnable).ToListAsync();
|
||||
var list = await _systemAnonymizationRepository.Where(t => t.IsEnable).ToListAsync();
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
|
@ -48,6 +48,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
IRepository<DicomInstance> _dicomInstanceRepository,
|
||||
IRepository<DicomSeries> _dicomSeriesRepository,
|
||||
IRepository<SubjectCanceDoctor> _subjectCanceDoctorRepository,
|
||||
IRepository<ReadingTaskQuestionMark> _readingTaskQuestionMarkRepository,
|
||||
IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository,
|
||||
IRepository<ReadingCustomTag> _readingCustomTagRepository,
|
||||
IRepository<TaskInfluence> _taskInfluenceRepository,
|
||||
IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
|
||||
IRepository<SubjectCriteriaEvaluationVisitStudyFilter> _subjectCriteriaEvaluationVisitStudyFilterRepository) : BaseService, IVisitTaskService
|
||||
{
|
||||
|
@ -1561,7 +1565,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
{
|
||||
if (await _visitTaskRepository.AnyAsync(t => t.IsAnalysisCreate && t.SubjectId == subjectId))
|
||||
{
|
||||
await _repository.UpdatePartialFromQueryAsync<Subject>(t => t.Id == subjectId, u => new Subject() { IsReReadingOrBackInfluenceAnalysis = true });
|
||||
await _subjectRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectId, u => new Subject() { IsReReadingOrBackInfluenceAnalysis = true });
|
||||
|
||||
}
|
||||
|
||||
|
@ -2156,7 +2160,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
{
|
||||
|
||||
//自定义
|
||||
var readingCustomTagList = _repository.Where<ReadingCustomTag>(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
var readingCustomTagList = _readingCustomTagRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
|
||||
foreach (var item in readingCustomTagList)
|
||||
{
|
||||
|
@ -2164,10 +2168,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
item.VisitTaskId = newTask.Id;
|
||||
}
|
||||
|
||||
_ = _repository.AddRangeAsync(readingCustomTagList).Result;
|
||||
_ = _readingCustomTagRepository.AddRangeAsync(readingCustomTagList).Result;
|
||||
|
||||
|
||||
var readingTaskQuestionMarkList = _repository.Where<ReadingTaskQuestionMark>(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
var readingTaskQuestionMarkList = _readingTaskQuestionMarkRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
|
||||
foreach (var item in readingTaskQuestionMarkList)
|
||||
{
|
||||
|
@ -2175,7 +2179,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
item.VisitTaskId = newTask.Id;
|
||||
}
|
||||
|
||||
_ = _repository.AddRangeAsync(readingTaskQuestionMarkList).Result;
|
||||
_ = _readingTaskQuestionMarkRepository.AddRangeAsync(readingTaskQuestionMarkList).Result;
|
||||
|
||||
var readingTaskQuestionAnswerList = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
|
||||
|
@ -2184,12 +2188,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
item.Id = Guid.Empty;
|
||||
item.VisitTaskId = newTask.Id;
|
||||
}
|
||||
_ = _repository.AddRangeAsync(readingTaskQuestionAnswerList).Result;
|
||||
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(readingTaskQuestionAnswerList).Result;
|
||||
|
||||
|
||||
|
||||
//ReadingTableAnswerRowInfo ReadingTableQuestionAnswer 一起加
|
||||
var readingTableAnswerRowInfoList = _repository.Where<ReadingTableAnswerRowInfo>(t => t.VisitTaskId == origenalTask.Id).Include(t => t.LesionAnswerList).ToList();
|
||||
var readingTableAnswerRowInfoList = _readingTableAnswerRowInfoRepository.Where(t => t.VisitTaskId == origenalTask.Id).Include(t => t.LesionAnswerList).ToList();
|
||||
|
||||
foreach (var item in readingTableAnswerRowInfoList)
|
||||
{
|
||||
|
@ -2212,7 +2216,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
}
|
||||
}
|
||||
|
||||
_ = _repository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
|
||||
_ = _readingTableAnswerRowInfoRepository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
|
||||
|
||||
|
||||
|
||||
|
@ -2876,7 +2880,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
/// <returns></returns>
|
||||
public async Task<List<InfluenceTaskInfo>> GetInfluencedTaskList(Guid taskId)
|
||||
{
|
||||
var list = await _repository.Where<TaskInfluence>(t => t.OriginalTaskId == taskId)/*.Select(t => t.InfluenceTask)*/.ProjectTo<InfluenceTaskInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
var list = await _taskInfluenceRepository.Where(t => t.OriginalTaskId == taskId)/*.Select(t => t.InfluenceTask)*/.ProjectTo<InfluenceTaskInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
|
@ -35,9 +35,12 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
IRepository<SystemDocNeedConfirmedUserType> _systemDocNeedConfirmedUserTypeRepository,
|
||||
IRepository<DicomStudy> _dicomStudyRepository,
|
||||
IRepository<QCChallenge> _qcChallengeRepository,
|
||||
IRepository<ReadModule> _readModuleRepository,
|
||||
IRepository<NoneDicomStudy> _noneDicomStudyRepository,
|
||||
IRepository<StudyMonitor> _studyMonitorRepository,
|
||||
IRepository<CommonDocument> _commonDocumentRepository,
|
||||
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
|
||||
IRepository<TrialDocNeedConfirmedUserType> _trialDocNeedConfirmedUserTypeRepository,
|
||||
IRepository<TrialDocConfirmedUser> _trialDocConfirmedUserRepository,
|
||||
IRepository<Subject> _subjectRepository) : BaseService
|
||||
{
|
||||
|
@ -347,7 +350,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
{
|
||||
var trialInfo = (await _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
|
||||
|
||||
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _repository.Where<TrialDocNeedConfirmedUserType>(t => t.TrialDocument.TrialId == inQuery.TrialId)
|
||||
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _trialDocNeedConfirmedUserTypeRepository.Where(t => t.TrialDocument.TrialId == inQuery.TrialId)
|
||||
join trialUser in _trialUserRepository.Where(t => t.TrialId == inQuery.TrialId)
|
||||
.WhereIf(inQuery.UserId != null, t => t.UserId == inQuery.UserId)
|
||||
.WhereIf(inQuery.UserTypeId != null, t => t.User.UserTypeId == inQuery.UserTypeId)
|
||||
|
@ -808,7 +811,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
{
|
||||
|
||||
var svExpression = QCCommon.GetStudyMonitorSubjectVisitFilter(inQuery.VisitPlanArray);
|
||||
var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
|
||||
var StudyMonitorQuery = _studyMonitorRepository.Where(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.Subject.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
//.WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
|
||||
.WhereIf(inQuery.VisitPlanArray != null && inQuery.VisitPlanArray?.Length > 0, svExpression)
|
||||
|
@ -889,7 +892,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
[FromServices] IRepository<Trial> _trialRepository)
|
||||
{
|
||||
|
||||
var list = await _repository.Where<ReadModule>(u => u.TrialId == param.TrialId)
|
||||
var list = await _readModuleRepository.Where(u => u.TrialId == param.TrialId)
|
||||
|
||||
.ProjectTo<ReadPeriodExportDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
||||
|
|
|
@ -57,7 +57,9 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<VerificationCode> _verificationCodeRepository,
|
||||
IRepository<SystemBasicData> _systemBasicDatarepository,
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<TrialSite> _trialSiteRepository,
|
||||
IRepository<User> _userRepository,
|
||||
IRepository<UserFeedBack> _userFeedBackRepository,
|
||||
ITokenService _tokenService,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<Trial> _trialRepository,
|
||||
|
@ -356,7 +358,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialSiteSurvey.TrialId);
|
||||
|
||||
var siteInfo = await _repository.FirstOrDefaultAsync<TrialSite>(t => t.TrialId == trialSiteSurvey.TrialId && t.Id == trialSiteSurvey.TrialSiteId, true);
|
||||
var siteInfo = await _trialSiteRepository.FirstOrDefaultAsync(t => t.TrialId == trialSiteSurvey.TrialId && t.Id == trialSiteSurvey.TrialSiteId, true);
|
||||
|
||||
|
||||
var companyName = _userInfo.IsEn_Us ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||
|
@ -721,7 +723,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
public async Task UserFeedBackMail(Guid feedBackId)
|
||||
{
|
||||
var feedBack = await _repository.Where<UserFeedBack>(t => t.Id == feedBackId).Include(t => t.CreateUser).ThenInclude(t => t.UserTypeRole).FirstNotNullAsync();
|
||||
var feedBack = await _userFeedBackRepository.Where(t => t.Id == feedBackId).Include(t => t.CreateUser).ThenInclude(t => t.UserTypeRole).FirstNotNullAsync();
|
||||
|
||||
var messageToSend = new MimeMessage();
|
||||
//发件地址
|
||||
|
|
|
@ -159,8 +159,8 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
var newAttachment = attachments.Where(t => t.Id == Guid.Empty);
|
||||
|
||||
await _repository.AddRangeAsync(newAttachment);
|
||||
await _repository.SaveChangesAsync();
|
||||
await _attachmentrepository.AddRangeAsync(newAttachment);
|
||||
await _attachmentrepository.SaveChangesAsync();
|
||||
|
||||
//_doctorAttachmentRepository.AddRange(newAttachment);
|
||||
//_doctorAttachmentRepository.SaveChanges();
|
||||
|
@ -185,7 +185,7 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
|
||||
await _attachmentrepository.AddAsync(newAttachment);
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _attachmentrepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(success, attachment);
|
||||
}
|
||||
|
||||
|
@ -214,15 +214,14 @@ namespace IRaCIS.Application.Services
|
|||
[HttpPost("{doctorId:guid}/{attachmentId:guid}/{language}")]
|
||||
public async Task<IResponseOutput> SetOfficial(Guid doctorId, Guid attachmentId, int language)
|
||||
{
|
||||
var resumeList = await _attachmentrepository.Where(t => t.DoctorId == doctorId && t.Type == "Resume" && t.Language == language).ToListAsync();
|
||||
var resumeList = await _attachmentrepository.Where(t => t.DoctorId == doctorId && t.Type == "Resume" && t.Language == language,true).ToListAsync();
|
||||
foreach (var item in resumeList)
|
||||
{
|
||||
if (item.Id == attachmentId) item.IsOfficial = true;
|
||||
else item.IsOfficial = false;
|
||||
await _repository.UpdateAsync(item);
|
||||
}
|
||||
|
||||
return ResponseOutput.Result(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Result(await _attachmentrepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -16,6 +16,7 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<Attachment> _attachmentRepository,
|
||||
IRepository<DoctorCriterionFile> _doctorCriterionFileRepository,
|
||||
IRepository<Trial> _trialRepository,
|
||||
IRepository<Vacation> _vacationRepository,
|
||||
IRepository<TrialPaymentPrice> _trialExtRepository
|
||||
) : BaseService, IDoctorService
|
||||
{
|
||||
|
@ -72,7 +73,7 @@ namespace IRaCIS.Application.Services
|
|||
//await _repository.AddAsync(new UserDoctor() { DoctorId = doctor.Id, UserId = _userInfo.Id });
|
||||
//_userDoctorRepository.Add(new UserDoctor() { DoctorId = doctor.Id, UserId = _userInfo.Id });
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _doctorDictionaryRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(success, _mapper.Map<DoctorBasicInfoCommand>(doctor));
|
||||
|
||||
}
|
||||
|
@ -103,11 +104,11 @@ namespace IRaCIS.Application.Services
|
|||
//重新插入新的 Title记录
|
||||
updateModel.TitleIds.ForEach(titleId => adddata.Add(new DoctorDictionary() { DoctorId = updateModel.Id.Value, KeyName = StaticData.Title, DictionaryId = titleId }));
|
||||
|
||||
await _repository.AddRangeAsync(adddata);
|
||||
await _doctorDictionaryRepository.AddRangeAsync(adddata);
|
||||
|
||||
_mapper.Map(basicInfoModel, doctor);
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _doctorDictionaryRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success, basicInfoModel);
|
||||
|
||||
|
@ -296,7 +297,7 @@ namespace IRaCIS.Application.Services
|
|||
#endregion
|
||||
|
||||
|
||||
var entity = await _repository.InsertOrUpdateAsync<Doctor, EmploymentCommand>(doctorWorkInfoModel, true);
|
||||
var entity = await _doctorRepository.InsertOrUpdateAsync(doctorWorkInfoModel, true);
|
||||
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
|
@ -389,11 +390,11 @@ namespace IRaCIS.Application.Services
|
|||
DictionaryId = subspecialityId
|
||||
}));
|
||||
|
||||
await _repository.AddRangeAsync(adddata);
|
||||
await _doctorDictionaryRepository.AddRangeAsync(adddata);
|
||||
|
||||
_mapper.Map(specialtyUpdateModel, doctor);
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _doctorDictionaryRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(success);
|
||||
|
||||
|
||||
|
@ -519,7 +520,7 @@ namespace IRaCIS.Application.Services
|
|||
var doctor = (await _doctorRepository
|
||||
.ProjectTo<ResumeConfirmDTO>(_mapper.ConfigurationProvider).FirstOrDefaultAsync(t => t.Id == doctorId)).IfNullThrowException();
|
||||
|
||||
doctor.InHoliday = (await _repository.CountAsync<Vacation>(x => x.DoctorId == doctorId && x.EndDate <= appDateTimeNow && x.StartDate <= appDateTimeNow)) > 0;
|
||||
doctor.InHoliday = (await _vacationRepository.CountAsync(x => x.DoctorId == doctorId && x.EndDate <= appDateTimeNow && x.StartDate <= appDateTimeNow)) > 0;
|
||||
|
||||
return doctor;
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace IRaCIS.Application.Services
|
|||
break;
|
||||
}
|
||||
await _educationRepository.AddAsync(doctorEducationInfo);
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _educationRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success, doctorEducationInfo.Id.ToString());
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
_mapper.Map(educationInfoViewModel, needUpdate);
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _educationRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(success);
|
||||
|
||||
|
@ -114,7 +114,7 @@ namespace IRaCIS.Application.Services
|
|||
//}
|
||||
#endregion
|
||||
|
||||
var entity = await _repository.InsertOrUpdateAsync<Postgraduate, PostgraduateCommand>(postgraduateViewModel, true);
|
||||
var entity = await _postgraduateRepository.InsertOrUpdateAsync(postgraduateViewModel, true);
|
||||
return ResponseOutput.Ok(entity.Id);
|
||||
}
|
||||
/// <summary>
|
||||
|
|
|
@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc;
|
|||
namespace IRaCIS.Application.Services
|
||||
{
|
||||
[ApiExplorerSettings(GroupName = "Reviewer")]
|
||||
public class ResearchPublicationService(IRepository<ResearchPublication> researchPublicationRepository) : BaseService, IResearchPublicationService
|
||||
public class ResearchPublicationService(IRepository<ResearchPublication> _researchPublicationRepository) : BaseService, IResearchPublicationService
|
||||
{
|
||||
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace IRaCIS.Application.Services
|
|||
[HttpGet("{doctorId:guid}")]
|
||||
public async Task<ResearchPublicationDTO> GetResearchPublication(Guid doctorId)
|
||||
{
|
||||
var doctorScientificResearchInfo = await researchPublicationRepository.Where(o => o.DoctorId == doctorId)
|
||||
var doctorScientificResearchInfo = await _researchPublicationRepository.Where(o => o.DoctorId == doctorId)
|
||||
.ProjectTo<ResearchPublicationDTO>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
|
||||
|
||||
return doctorScientificResearchInfo!;
|
||||
|
@ -28,7 +28,7 @@ namespace IRaCIS.Application.Services
|
|||
public async Task<IResponseOutput> AddOrUpdateResearchPublication(ResearchPublicationDTO param)
|
||||
{
|
||||
|
||||
var entity = await _repository.InsertOrUpdateAsync<ResearchPublication, ResearchPublicationDTO>(param, true);
|
||||
var entity = await _researchPublicationRepository.InsertOrUpdateAsync(param, true);
|
||||
|
||||
return ResponseOutput.Ok(entity.Id);
|
||||
}
|
||||
|
|
|
@ -82,17 +82,15 @@ namespace IRaCIS.Application.Services
|
|||
await _trialExperienceCriteriaRepository.AddRangeAsync(criteriaList);
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialExperienceCriteriaRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(success, trialExperience.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
var needUpdate = await _trialExperienceRepository.FirstOrDefaultAsync(t => t.Id == trialExperienceViewModel.Id);
|
||||
var needUpdate = trialExperienceViewModel;
|
||||
|
||||
if (needUpdate == null) return Null404NotFound(needUpdate);
|
||||
|
||||
_mapper.Map(trialExperienceViewModel, needUpdate);
|
||||
await _repository.UpdateAsync(needUpdate);
|
||||
await _trialExperienceRepository.UpdateFromDTOAsync(trialExperienceViewModel);
|
||||
|
||||
await _trialExperienceCriteriaRepository.BatchDeleteNoTrackingAsync(t => t.TrialExperienceId == needUpdate.Id);
|
||||
|
||||
|
@ -102,13 +100,13 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
DoctorId = trialExperienceViewModel.DoctorId,
|
||||
EvaluationCriteriaId = t,
|
||||
TrialExperienceId = needUpdate.Id
|
||||
TrialExperienceId = needUpdate.Id.Value
|
||||
}));
|
||||
|
||||
await _repository.AddRangeAsync<TrialExperienceCriteria>(criteriaList);
|
||||
await _trialExperienceCriteriaRepository.AddRangeAsync(criteriaList);
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialExperienceCriteriaRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Result(success, trialExperienceViewModel.Id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
var result = await _vacationRepository.AddAsync(_mapper.Map<Vacation>(param));
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _vacationRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success, result.Id);
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
ISystemDocumentService _systemDocumentService,
|
||||
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
|
||||
IRepository<SystemDocNeedConfirmedUserType> _systemDocNeedConfirmedUserTypeRepository,
|
||||
IRepository<TrialDocNeedConfirmedUserType> _trialDocNeedConfirmedUserTypeRepository,
|
||||
IRepository<SystemDocument> _systemDocumentRepository,
|
||||
IRepository<TrialUser> _trialUserRepository,
|
||||
IRepository<TrialDocConfirmedUser> _trialDocConfirmedUserRepository,
|
||||
|
@ -223,7 +224,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
var trialInfo = await ( _trialRepository.Where(t => t.Id == inQuery.TrialId, ignoreQueryFilters: true).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
|
||||
|
||||
//系统文档查询
|
||||
var systemDocumentQueryable = from needConfirmedUserType in _repository.Where<SystemDocNeedConfirmedUserType>(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
|
||||
var systemDocumentQueryable = from needConfirmedUserType in _systemDocNeedConfirmedUserTypeRepository.Where(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId)
|
||||
//.Where(u => u.UserTypeRole.UserList.SelectMany(cc => cc.UserTrials.Where(t => t.TrialId == querySystemDocument.TrialId)).Any(e => e.Trial.TrialFinishedTime < u.SystemDocument.CreateTime))
|
||||
.WhereIf(trialInfo.TrialFinishedTime != null, u => u.SystemDocument.CreateTime < trialInfo.TrialFinishedTime)
|
||||
.WhereIf(!_userInfo.IsAdmin, t => t.SystemDocument.IsDeleted == false || (t.SystemDocument.IsDeleted == true && t.SystemDocument.SystemDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.Id)))
|
||||
|
@ -394,7 +395,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
|
||||
var trialInfo = (await _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.TrialFinishedTime, t.TrialStatusStr }).FirstNotNullAsync());
|
||||
|
||||
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _repository.Where<TrialDocNeedConfirmedUserType>(t => t.TrialDocument.TrialId == inQuery.TrialId)
|
||||
var trialDocQuery = from trialDocumentNeedConfirmedUserType in _trialDocNeedConfirmedUserTypeRepository.Where(t => t.TrialDocument.TrialId == inQuery.TrialId)
|
||||
join trialUser in _trialUserRepository.Where(t => t.TrialId == inQuery.TrialId)
|
||||
.WhereIf(inQuery.UserId != null, t => t.UserId == inQuery.UserId)
|
||||
.WhereIf(inQuery.UserTypeId != null, t => t.User.UserTypeId == inQuery.UserTypeId)
|
||||
|
@ -639,7 +640,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
|
||||
}
|
||||
|
||||
success = await _repository.SaveChangesAsync();
|
||||
success = await _systemDocConfirmedUserRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(success);
|
||||
}
|
||||
|
@ -653,7 +654,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
|
||||
}
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _systemDocConfirmedUserRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(success);
|
||||
}
|
||||
|
@ -667,7 +668,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
await _trialDocConfirmedUserRepository.AddAsync(new TrialDocConfirmedUser() { TrialDocumentId = documentId, ConfirmUserId = _userInfo.Id, SignFirstViewTime = DateTime.Now });
|
||||
|
||||
}
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialDocConfirmedUserRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(success);
|
||||
}
|
||||
|
|
|
@ -40,10 +40,13 @@ namespace IRaCIS.Core.Application.Service
|
|||
IRepository<EmailNoticeConfig> _emailNoticeConfigRepository,
|
||||
IRepository<Trial> _trialRepository,
|
||||
IRepository<TaskMedicalReview> _taskMedicalReviewRepository,
|
||||
IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository,
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<TrialUser> _trialUserRepository,
|
||||
IRepository<TrialEmailNoticeUser> _trialEmailNoticeUserRepository,
|
||||
IRepository<Subject> _subjectRepository,
|
||||
IRepository<ReadModule> _readModuleRepository,
|
||||
IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
|
@ -311,7 +314,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
//入组确认 根据每个标准配置的是否自动发送,发送邮件与否
|
||||
if (businessScenarioEnum == EmailBusinessScenario.EnrollConfirmed)
|
||||
{
|
||||
if (await _repository.Where<ReadingTableQuestionAnswer>().AnyAsync(x => x.VisitTaskId == visitTaskId && x.Answer == TargetState.Exist.GetEnumInt() &&
|
||||
if (await _readingTableQuestionAnswerRepository.Where().AnyAsync(x => x.VisitTaskId == visitTaskId && x.Answer == TargetState.Exist.GetEnumInt() &&
|
||||
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && x.ReadingQuestionTrial.LesionType == LesionType.TargetLesion))
|
||||
{
|
||||
answer = "是";
|
||||
|
@ -490,7 +493,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
// if (taskInfo.ReadingCategory == ReadingCategory.Visit)
|
||||
// {
|
||||
// //存在阅片期 那么就是截止访视
|
||||
// if (await _repository.Where<ReadModule>(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.SubjectVisitId == taskInfo.SourceSubjectVisitId && t.ReadingSetType == ReadingSetType.ImageReading).AnyAsync())
|
||||
// if (await _readModuleRepository.Where(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.SubjectVisitId == taskInfo.SourceSubjectVisitId && t.ReadingSetType == ReadingSetType.ImageReading).AnyAsync())
|
||||
// {
|
||||
// isNeedSend = false;
|
||||
// }
|
||||
|
@ -905,7 +908,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
//仲裁在阅片期上
|
||||
else if (trialReadingCriterionConfig.ArbitrationRule == ArbitrationRule.Reading)
|
||||
{
|
||||
var existReadModule = await _repository.Where<ReadModule>(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
|
||||
var existReadModule = await _readModuleRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
if (existReadModule == null)
|
||||
|
@ -978,7 +981,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
// {
|
||||
// //存在阅片期 那么就是截止访视
|
||||
|
||||
// var existReadModule = await _repository.Where<ReadModule>(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
|
||||
// var existReadModule = await _readModuleRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectVisitId == currentLatestPdVisitId && t.ReadingSetType == ReadingSetType.ImageReading)
|
||||
// .FirstOrDefaultAsync();
|
||||
// if (existReadModule != null)
|
||||
// {
|
||||
|
@ -1081,7 +1084,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
else if (readingCategory == ReadingCategory.Global)
|
||||
{
|
||||
var questionAnsewer = await _repository.Where<ReadingGlobalTaskInfo>(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).OrderByDescending(c => c.VisitTask.VisitTaskNum).FirstNotNullAsync();
|
||||
var questionAnsewer = await _readingGlobalTaskInfoRepository.Where(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).OrderByDescending(c => c.VisitTask.VisitTaskNum).FirstNotNullAsync();
|
||||
|
||||
|
||||
answer = questionAnsewer.Answer;
|
||||
|
@ -1129,7 +1132,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
else if (readingCategory == ReadingCategory.Global)
|
||||
{
|
||||
var questionAnsewer = await _repository.Where<ReadingGlobalTaskInfo>(t => t.TaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstNotNullAsync();
|
||||
var questionAnsewer = await _readingGlobalTaskInfoRepository.Where(t => t.TaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstNotNullAsync();
|
||||
|
||||
answer = questionAnsewer.Answer;
|
||||
}
|
||||
|
@ -1395,7 +1398,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.Copy, UserType = item, TrialEmailNoticeConfigId = id });
|
||||
|
||||
}
|
||||
await _repository.AddRangeAsync(trialEmailNoticeUsers);
|
||||
await _trialEmailNoticeUserRepository.AddRangeAsync(trialEmailNoticeUsers);
|
||||
|
||||
foreach (var userid in addOrEditTrialEmailNoticeConfig.BlackUserIdList)
|
||||
{
|
||||
|
|
|
@ -22,6 +22,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
IRepository<DicomSeries> _seriesRepository,
|
||||
IRepository<DicomInstance> _instanceRepository,
|
||||
IRepository<Dictionary> _dictionaryRepository,
|
||||
IRepository<SystemAnonymization> _systemAnonymizationRepository,
|
||||
IDistributedLockProvider _distributedLockProvider) : BaseService, IDicomArchiveService
|
||||
{
|
||||
|
||||
|
@ -59,7 +60,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
}
|
||||
|
||||
|
||||
var anonymizeList = await _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_repository), TimeSpan.FromDays(7));
|
||||
var anonymizeList = await _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_systemAnonymizationRepository), TimeSpan.FromDays(7));
|
||||
|
||||
var fixedFiledList = anonymizeList.Where(t => t.IsFixed).ToList();
|
||||
var ircFiledList = anonymizeList.Where(t => t.IsFixed == false).ToList();
|
||||
|
|
|
@ -292,7 +292,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
using (await @lock.AcquireAsync())
|
||||
{
|
||||
//查询数据库获取最大的Code 没有记录则为0
|
||||
var dbStudyCodeIntMax = _repository.Where<TaskStudy>(s => s.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
|
||||
var dbStudyCodeIntMax = _taskStudyRepository.Where(s => s.TrialId == trialId).Select(t => t.Code).DefaultIfEmpty().Max();
|
||||
|
||||
//获取缓存中的值 并发的时候,需要记录,已被占用的值 这样其他线程在此占用的最大的值上递增
|
||||
var cacheMaxCodeInt = await _fusionCache.GetOrDefaultAsync<int>(CacheKeys.TrialStudyMaxCode(trialId));
|
||||
|
@ -371,7 +371,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
var studyId = IdentifierHelper.CreateGuid(incommand.Study.StudyInstanceUid, incommand.TrialId.ToString(), findOriginStudy.VisitTaskId.ToString());
|
||||
|
||||
var study = await _repository.FirstOrDefaultAsync<TaskStudy>(t => t.Id == studyId);
|
||||
var study = await _taskStudyRepository.FirstOrDefaultAsync(t => t.Id == studyId);
|
||||
|
||||
//重传的时候也要赋值检查Id
|
||||
studyMonitor.StudyId = study.Id;
|
||||
|
@ -390,7 +390,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
{
|
||||
var seriesId = IdentifierHelper.CreateGuid(seriesItem.StudyInstanceUid, seriesItem.SeriesInstanceUid, trialId.ToString(), findOriginStudy.VisitTaskId.ToString());
|
||||
|
||||
TaskSeries dicomSeries = await _repository.FirstOrDefaultAsync<TaskSeries>(t => t.Id == seriesId);
|
||||
TaskSeries dicomSeries = await _taskSeriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId);
|
||||
|
||||
//判断重复
|
||||
if (dicomSeries == null)
|
||||
|
@ -444,7 +444,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
using (await @lock2.AcquireAsync())
|
||||
{
|
||||
await _repository.SaveChangesAsync();
|
||||
await _taskStudyRepository.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
@ -14,7 +14,6 @@ using Microsoft.AspNetCore.Http;
|
|||
using Newtonsoft.Json;
|
||||
using System.Threading;
|
||||
using Medallion.Threading;
|
||||
using System.Reactive.Subjects;
|
||||
using DocumentFormat.OpenXml.Drawing.Diagrams;
|
||||
using IRaCIS.Core.Application.Service.ImageAndDoc.DTO;
|
||||
using ZiggyCreatures.Caching.Fusion;
|
||||
|
@ -31,7 +30,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
IRepository<Trial> _trialRepository,
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<DicomStudy> _dicomStudyRepository,
|
||||
IRepository<Subject> _subjectRepository,
|
||||
IRepository<StudyMonitor> _studyMonitorRepository,
|
||||
IRepository<SystemAnonymization> _systemAnonymizationRepository,
|
||||
IRepository<NoneDicomStudy> _noneDicomStudyRepository,
|
||||
IDistributedLockProvider _distributedLockProvider) : BaseService, IStudyService
|
||||
{
|
||||
|
@ -460,7 +461,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
public async Task<PageOutput<UnionStudyMonitorModel>> GetDicomAndNoneDicomStudyMonitorList(StudyQuery inQuery)
|
||||
{
|
||||
var svExpression = QCCommon.GetStudyMonitorSubjectVisitFilter(inQuery.VisitPlanArray);
|
||||
var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
|
||||
var StudyMonitorQuery = _studyMonitorRepository.Where(t => t.TrialId == inQuery.TrialId, ignoreQueryFilters: true)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.Subject.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
//.WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
|
||||
.WhereIf(inQuery.VisitPlanArray != null && inQuery.VisitPlanArray?.Length > 0, svExpression)
|
||||
|
@ -711,7 +712,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
|
||||
|
||||
|
||||
var systemAnonymizationList = _repository.Where<SystemAnonymization>(t => t.IsEnable).ToList();
|
||||
var systemAnonymizationList = _systemAnonymizationRepository.Where(t => t.IsEnable).ToList();
|
||||
|
||||
return ResponseOutput.Ok<List<VerifyStudyUploadResult>>(resultList, new
|
||||
{
|
||||
|
@ -772,7 +773,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
// 写入dicom 固定的信息,以及组织路径的信息 以及匿名化的信息
|
||||
var otherData = GetSaveToDicomInfo(verifyInfo.SubjectVisitId);
|
||||
|
||||
var anonymizeList = _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_repository), TimeSpan.FromDays(7)).Result;
|
||||
var anonymizeList = _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_systemAnonymizationRepository), TimeSpan.FromDays(7)).Result;
|
||||
|
||||
return ResponseOutput.Ok<List<VerifyStudyUploadResult>>(result, new
|
||||
{
|
||||
|
@ -801,7 +802,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
|||
return result;
|
||||
}
|
||||
|
||||
if (_repository.Where<Domain.Models.Subject>(t => t.Id == SubjectId).Select(t => t.Status).FirstOrDefault() == SubjectStatus.EndOfVisit)
|
||||
if (_subjectRepository.Where(t => t.Id == SubjectId).Select(t => t.Status).FirstOrDefault() == SubjectStatus.EndOfVisit)
|
||||
{
|
||||
result.AllowUpload = false;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
/// SystemAnonymizationService
|
||||
/// </summary>
|
||||
[ApiExplorerSettings(GroupName = "Image")]
|
||||
public class SystemAnonymizationService(IRepository<SystemAnonymization> systemAnonymizationRepository) : BaseService, ISystemAnonymizationService
|
||||
public class SystemAnonymizationService(IRepository<SystemAnonymization> _systemAnonymizationRepository) : BaseService, ISystemAnonymizationService
|
||||
{
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task<PageOutput<SystemAnonymizationView>> GetSystemAnonymizationList(SystemAnonymizationQuery inQuery)
|
||||
{
|
||||
|
||||
var systemAnonymizationQueryable = systemAnonymizationRepository
|
||||
var systemAnonymizationQueryable = _systemAnonymizationRepository
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.Group), t => t.Group.Contains(inQuery.Group))
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.Element), t => t.Element.Contains(inQuery.Element))
|
||||
.WhereIf(inQuery.IsAdd != null, t => t.IsAdd == inQuery.IsAdd)
|
||||
|
@ -36,7 +36,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task<IResponseOutput> AddOrUpdateSystemAnonymization(SystemAnonymizationAddOrEdit addOrEditSystemAnonymization)
|
||||
{
|
||||
|
||||
var entity = await _repository.InsertOrUpdateAsync<SystemAnonymization, SystemAnonymizationAddOrEdit>(addOrEditSystemAnonymization, true);
|
||||
var entity = await _systemAnonymizationRepository.InsertOrUpdateAsync(addOrEditSystemAnonymization, true);
|
||||
|
||||
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
|
@ -47,7 +47,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
[HttpDelete("{systemAnonymizationId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteSystemAnonymization(Guid systemAnonymizationId)
|
||||
{
|
||||
var success = await systemAnonymizationRepository.BatchDeleteNoTrackingAsync(t => t.Id == systemAnonymizationId);
|
||||
var success = await _systemAnonymizationRepository.BatchDeleteNoTrackingAsync(t => t.Id == systemAnonymizationId);
|
||||
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
|
|
@ -1066,8 +1066,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
await _repository.UpdateRange(neewupdate);
|
||||
await _repository.AddRangeAsync(list);
|
||||
await _repository.SaveChangesAsync();
|
||||
await _frontAuditConfigRepository.AddRangeAsync(list);
|
||||
await _frontAuditConfigRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
|
|
@ -260,7 +260,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
/// <summary> 验证用户签名信息 </summary> ///
|
||||
public async Task<IResponseOutput> VerifySignatureAsync(SignDTO signDTO)
|
||||
{
|
||||
var user = await _repository.FirstOrDefaultAsync<User>(u => u.UserName == signDTO.UserName && u.Password == signDTO.PassWord);
|
||||
var user = await _userRepository.FirstOrDefaultAsync(u => u.UserName == signDTO.UserName && u.Password == signDTO.PassWord);
|
||||
if (user == null)
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["User_CheckNameOrPw"]);
|
||||
|
@ -279,7 +279,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
|||
{
|
||||
var add = await _trialSignRepository.AddAsync(_mapper.Map<TrialSign>(signDTO));
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialSignRepository.SaveChangesAsync();
|
||||
|
||||
return add.Id;
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ namespace IRaCIS.Application.Services
|
|||
[HttpPost]
|
||||
public async Task<PageOutput<TrialSiteAddView>> GetTrialSiteList(TrialSiteInQuery inQuery)
|
||||
{
|
||||
var query = _repository.Where<TrialSite>(t => t.SiteId == null)
|
||||
var query = _trialSiteRepository.Where(t => t.SiteId == null)
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.TrialSiteName), t => t.TrialSiteName.Contains(inQuery.TrialSiteName) || t.TrialSiteAliasName.Contains(inQuery.TrialSiteName))
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.TrialCode), t => t.Trial.TrialCode.Contains(inQuery.TrialCode))
|
||||
.Select(t => new TrialSiteAddView()
|
||||
|
|
|
@ -7,7 +7,7 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
[ApiExplorerSettings(GroupName = "Management")]
|
||||
public class MenuService(
|
||||
IRepository<Menu> menuRepository,
|
||||
IRepository<Menu> _menuRepository,
|
||||
IRepository<UserTypeMenu> _userTypeMenuRepository) : BaseService, IMenuService
|
||||
{
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace IRaCIS.Application.Services
|
|||
VerifyMsg = _localizer["Menu_ParentDupChild"]
|
||||
};
|
||||
|
||||
var menu = await _repository.InsertOrUpdateAsync<Menu, MenuCommand>(menuAddOrUpdateModel, true, exp);
|
||||
var menu = await _menuRepository.InsertOrUpdateAsync(menuAddOrUpdateModel, true, exp);
|
||||
|
||||
return ResponseOutput.Ok(menu.Id.ToString());
|
||||
|
||||
|
@ -85,13 +85,13 @@ namespace IRaCIS.Application.Services
|
|||
[HttpDelete("{menuId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteMenu(Guid menuId)
|
||||
{
|
||||
if (await menuRepository.AnyAsync(t => t.ParentId == menuId))
|
||||
if (await _menuRepository.AnyAsync(t => t.ParentId == menuId))
|
||||
{
|
||||
//---该节点存在子节点,请在删除子节点后,再删除该节点。
|
||||
return ResponseOutput.NotOk(_localizer["Menu_ChildExist"]);
|
||||
}
|
||||
|
||||
var success =await menuRepository.BatchDeleteNoTrackingAsync(u => u.Id == menuId);
|
||||
var success =await _menuRepository.BatchDeleteNoTrackingAsync(u => u.Id == menuId);
|
||||
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ namespace IRaCIS.Application.Services
|
|||
[HttpGet]
|
||||
public async Task<List<MenuTreeNode>> GetMenuTree()
|
||||
{
|
||||
var allMenuList = (await menuRepository.ProjectTo<MenuTreeNode>(_mapper.ConfigurationProvider).ToListAsync()).IfNullThrowException();
|
||||
var allMenuList = (await _menuRepository.ProjectTo<MenuTreeNode>(_mapper.ConfigurationProvider).ToListAsync()).IfNullThrowException();
|
||||
|
||||
var list = allMenuList.ToTree((root, child) => child.ParentId == Guid.Empty,
|
||||
(root, child) => child.ParentId == root.MenuId,
|
||||
|
@ -125,7 +125,7 @@ namespace IRaCIS.Application.Services
|
|||
[HttpPost]
|
||||
public async Task<List<MenuDTO>> GetMenuList(MenuQueyDTO menuQueyDTO)
|
||||
{
|
||||
return await menuRepository
|
||||
return await _menuRepository
|
||||
.WhereIf(menuQueyDTO.ParentId != null, t => t.ParentId == menuQueyDTO.ParentId)
|
||||
.WhereIf(menuQueyDTO.IsEnable != null, t => t.IsEnable == menuQueyDTO.IsEnable)
|
||||
.WhereIf(menuQueyDTO.IsCache != null, t => t.IsCache == menuQueyDTO.IsCache)
|
||||
|
@ -146,7 +146,7 @@ namespace IRaCIS.Application.Services
|
|||
[HttpGet("{userTypeId:guid}")]
|
||||
public async Task<List<MenuTreeNodeSelect>> GetUserTypeMenuTree(Guid userTypeId)
|
||||
{
|
||||
var menuFunctionlist = (await menuRepository
|
||||
var menuFunctionlist = (await _menuRepository
|
||||
.ProjectTo<MenuTreeNodeSelect>(_mapper.ConfigurationProvider, new { userTypeId = userTypeId }).ToListAsync()).IfNullThrowException();
|
||||
|
||||
|
||||
|
@ -189,7 +189,7 @@ namespace IRaCIS.Application.Services
|
|||
.Where(t => t.UserTypeId == _userInfo.UserTypeId && t.Menu.MenuType == "F")
|
||||
.Select(t => t.Menu.PermissionStr).ToListAsync();
|
||||
|
||||
//var str = await _repository.Where<UserType>(t => t.Id == _userInfo.UserTypeId).Select(t => t.PermissionStr).FirstOrDefaultAsync();
|
||||
//var str = await _userTypeRepository.Where(t => t.Id == _userInfo.UserTypeId).Select(t => t.PermissionStr).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
list.Add(_userInfo.PermissionStr);
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// UserTypeRoleService
|
||||
/// </summary>
|
||||
[ApiExplorerSettings(GroupName = "Management")]
|
||||
public class UserTypeRoleService(IRepository<UserType> _userTypeRepository) : BaseService, IUserTypeService
|
||||
public class UserTypeRoleService(IRepository<UserType> _userTypeRepository, IRepository<User> _userRepository) : BaseService, IUserTypeService
|
||||
{
|
||||
|
||||
[HttpPost]
|
||||
|
@ -71,7 +71,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
await _userTypeRepository.EntityVerifyAsync(entity.Id, verifyExp1);
|
||||
}
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _userTypeRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok( entity.Id.ToString());
|
||||
|
||||
|
@ -81,7 +81,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
[HttpDelete("{userTypeId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteUserTypeRole(Guid userTypeId)
|
||||
{
|
||||
if ( await _repository.AnyAsync<User>(t => t.UserTypeId == userTypeId))
|
||||
if ( await _userRepository.AnyAsync(t => t.UserTypeId == userTypeId))
|
||||
{
|
||||
//---该用户类型中已存在用户,不能删除
|
||||
return ResponseOutput.NotOk(_localizer["UserType_InUse"]);
|
||||
|
|
|
@ -143,7 +143,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
[HttpGet("{subjectVisitId:guid}")]
|
||||
public async Task<List<NoneDicomStudyFileView>> GetVisitNoneDicomStudyFileList(Guid subjectVisitId)
|
||||
{
|
||||
return await _repository.Where<NoneDicomStudyFile>(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId)
|
||||
return await _noneDicomStudyFileRepository.Where(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId)
|
||||
.ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync();
|
||||
}
|
||||
|
||||
|
|
|
@ -39,17 +39,17 @@ namespace IRaCIS.Core.Application.Service
|
|||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC)
|
||||
{
|
||||
|
||||
await VerifyIsCanQCAsync(_repository, _userInfo, null, subjectVisitId);
|
||||
await VerifyIsCanQCAsync(_subjectVisitRepository, _userInfo, null, subjectVisitId);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public async Task VerifyIsCanQCAsync(IRepository _repository, IUserInfo _userInfo, SubjectVisit? subjectVisit = null, Guid? subjectVisitId = null)
|
||||
public async Task VerifyIsCanQCAsync(IRepository<SubjectVisit> _subjectVisitRepository, IUserInfo _userInfo, SubjectVisit? subjectVisit = null, Guid? subjectVisitId = null)
|
||||
{
|
||||
if (subjectVisitId != null)
|
||||
{
|
||||
subjectVisit = (await _repository.FirstOrDefaultAsync<SubjectVisit>(t => t.Id == subjectVisitId)).IfNullThrowException();
|
||||
subjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
||||
}
|
||||
if (subjectVisit!.CurrentActionUserId != _userInfo.Id)
|
||||
{
|
||||
|
|
|
@ -116,7 +116,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
else
|
||||
{
|
||||
|
||||
await _repository.UpdateFromDTOAsync<QCChallenge, QCChallengeCommand>(qaQuestionCommand, true);
|
||||
await _qcChallengeRepository.UpdateFromDTOAsync(qaQuestionCommand, true);
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
|
||||
|
@ -191,7 +191,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
public async Task<IResponseOutput> DeleteQCChallenge(Guid qcChallengeId)
|
||||
{
|
||||
|
||||
if (await _repository.AnyAsync<QCChallengeDialog>(t => t.QCChallengeId == qcChallengeId))
|
||||
if (await _qCChallengeDialogrepository.AnyAsync(t => t.QCChallengeId == qcChallengeId))
|
||||
{
|
||||
//---当前QC质疑已经回复。
|
||||
ResponseOutput.NotOk(_localizer["QCOperation_QuestionReplied"]);
|
||||
|
@ -203,7 +203,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
await _qcChallengeRepository.DeleteAsync(qaRecord);
|
||||
|
||||
|
||||
var success1 = await _repository.SaveChangesAsync();
|
||||
var success1 = await _qcChallengeRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success1 /*|| success2 || success3*/);
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
qaReply.UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt;
|
||||
|
||||
var dbQCChallenge = (await _repository.FirstOrDefaultAsync<QCChallenge>(t => t.Id == qaDialogCommand.QCChallengeId)).IfNullThrowException();
|
||||
var dbQCChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == qaDialogCommand.QCChallengeId)).IfNullThrowException();
|
||||
|
||||
dbQCChallenge.LatestMsgTime = DateTime.Now;
|
||||
|
||||
|
@ -232,7 +232,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
dbQCChallenge.LatestReplyUserId = _userInfo.Id;
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _qCChallengeDialogrepository.SaveChangesAsync();
|
||||
|
||||
|
||||
return ResponseOutput.Result(success, qaReply);
|
||||
|
@ -279,7 +279,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
throw new BusinessValidationFailedException(_localizer["QCOperation_NoPermissionReply"]);
|
||||
}
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _subjectVisitRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success, qaReply.Id);
|
||||
}
|
||||
|
@ -314,7 +314,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt,
|
||||
|
||||
});
|
||||
await _repository.SaveChangesAsync();
|
||||
await _subjectVisitRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(sv);
|
||||
}
|
||||
|
@ -575,7 +575,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
|
||||
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Ok(await _trialQCQuestionAnswerRepository.SaveChangesAsync());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -583,9 +583,9 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
addlist.ForEach(t => { t.TrialId = trialId; t.SubjectVisitId = subjectVisitId; t.CurrentQCEnum = currentQCType; t.QCProcessEnum = trialQCProcess; });
|
||||
|
||||
await _repository.AddRangeAsync(addlist);
|
||||
await _trialQCQuestionAnswerRepository.AddRangeAsync(addlist);
|
||||
|
||||
return ResponseOutput.Result(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Result(await _trialQCQuestionAnswerRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
|
@ -661,7 +661,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
study.IsDeleted = study.SeriesCount == 0;
|
||||
}
|
||||
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Ok(await _dicomStudyRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -693,7 +693,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
{
|
||||
|
||||
var studyId = updateModalityCommand.Id;
|
||||
var study = (await _repository.FirstOrDefaultAsync<DicomStudy>(t => t.Id == studyId)).IfNullThrowException();
|
||||
var study = (await _dicomStudyRepository.FirstOrDefaultAsync(t => t.Id == studyId)).IfNullThrowException();
|
||||
|
||||
|
||||
study.BodyPartForEdit = updateModalityCommand.BodyPart;
|
||||
|
@ -706,7 +706,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
{
|
||||
|
||||
var seriesId = updateModalityCommand.Id;
|
||||
var series = (await _repository.FirstOrDefaultAsync<DicomSeries>(t => t.Id == seriesId)).IfNullThrowException();
|
||||
var series = (await _dicomSeriesRepository.FirstOrDefaultAsync(t => t.Id == seriesId)).IfNullThrowException();
|
||||
series.BodyPartForEdit = updateModalityCommand.BodyPart;
|
||||
|
||||
}
|
||||
|
@ -715,7 +715,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
}
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _subjectVisitRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
@ -730,7 +730,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
{
|
||||
await VerifyIsCanQCAsync(null, subjectVisitId);
|
||||
|
||||
if (await _repository.AnyAsync<QCChallenge>(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
|
||||
if (await _qcChallengeRepository.AnyAsync(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
|
||||
{
|
||||
//---当前访视有质疑未关闭,不允许该操作
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_UnresolvedQCQuery"]);
|
||||
|
@ -804,11 +804,11 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
var subjectId=waitDeleteStudyList.Select(t=>t.SubjectId).FirstOrDefault();
|
||||
|
||||
var patientList = _repository.Where<SCPPatient>(t => t.SubjectId == subjectId).Select(t => t.Id).ToList();
|
||||
var patientList = _scpPatientRepository.Where(t => t.SubjectId == subjectId).Select(t => t.Id).ToList();
|
||||
|
||||
foreach (var patientId in patientList)
|
||||
{
|
||||
if (_repository.Where<SCPPatient>(t=>t.Id== patientId).Any(t => t.SCPStudyList.Count() == t.SCPStudyList.Where(t => t.SubjectVisitId == null).Count()))
|
||||
if (_scpPatientRepository.Where(t=>t.Id== patientId).Any(t => t.SCPStudyList.Count() == t.SCPStudyList.Where(t => t.SubjectVisitId == null).Count()))
|
||||
{
|
||||
await _scpPatientRepository.BatchUpdateNoTrackingAsync(t => t.Id == patientId, u => new SCPPatient() { SubjectId = null });
|
||||
}
|
||||
|
@ -1295,7 +1295,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
}
|
||||
|
||||
//获取确认的临床数据配置
|
||||
var clinicalDataConfirmList = _repository.Where<ClinicalDataTrialSet>(t => t.TrialId == trialId && t.IsConfirm).ToList();
|
||||
var clinicalDataConfirmList = _clinicalDataTrialSetRepository.Where(t => t.TrialId == trialId && t.IsConfirm).ToList();
|
||||
|
||||
// 别人未提交的
|
||||
foreach (var dbSubjectVisit in dbSubjectVisitList)
|
||||
|
@ -1496,7 +1496,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _subjectVisitRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(success);
|
||||
|
||||
|
@ -1528,7 +1528,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
if (auditState == AuditStateEnum.QCPassed)
|
||||
{
|
||||
//判断质疑是否都关闭了
|
||||
if (await _repository.AnyAsync<QCChallenge>(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
|
||||
if (await _qcChallengeRepository.AnyAsync(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
|
||||
{
|
||||
//---当前访视有影像质控质疑未关闭,不能进行此操作。
|
||||
return ResponseOutput.NotOk(_localizer["QCOperation_QCNotClosed"]);
|
||||
|
@ -1727,7 +1727,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
dbSubjectVisit.CurrentActionUserId = null;
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = null;
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _subjectVisitRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
return ResponseOutput.Result(true);
|
||||
|
@ -1753,7 +1753,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
|
||||
|
||||
sv.IsUrgent = setOrCancel;
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _subjectVisitRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
@ -1837,7 +1837,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
});
|
||||
|
||||
//双审 并且是2QC 那么需要回退到1QC 讲1QC数据清除
|
||||
if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit && await _repository.AnyAsync<QCChallenge>(t => t.Id == qcChallengeId && t.SubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
|
||||
if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit && await _qcChallengeRepository.AnyAsync(t => t.Id == qcChallengeId && t.SubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
|
||||
{
|
||||
|
||||
|
||||
|
@ -1872,7 +1872,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
}
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _qcChallengeRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
return ResponseOutput.Result(success);
|
||||
|
|
|
@ -254,7 +254,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
await _trialQcQuestionRepository.AddRangeAsync(childList);
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialQcQuestionRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
|
|
@ -232,7 +232,7 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
await _trialClinicalDataSetCriterionRepository.DeleteFromQueryAsync(t => t.TrialClinicalDataSetId == entity.Id);
|
||||
|
||||
await _repository.AddRangeAsync<TrialClinicalDataSetCriterion>(entity.TrialClinicalDataSetCriteriaList);
|
||||
await _trialClinicalDataSetCriterionRepository.AddRangeAsync(entity.TrialClinicalDataSetCriteriaList);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -356,7 +356,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
if (await _clinicalDataTrialSetRepository.AnyAsync(t => t.Id == data.ClinicalDataTrialSetId && t.UploadRole == UploadRole.PM && (t.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataLevel == ClinicalLevel.SubjectVisit)))
|
||||
{
|
||||
var needDealTrialReadingCriterionIdList = _repository.Where<ClinicalDataTrialSet>(t => t.Id == data.ClinicalDataTrialSetId)
|
||||
var needDealTrialReadingCriterionIdList = _clinicalDataTrialSetRepository.Where(t => t.Id == data.ClinicalDataTrialSetId)
|
||||
.SelectMany(t => t.TrialClinicalDataSetCriteriaList)
|
||||
.Select(u => u.TrialReadingCriterionId).Distinct().ToList();
|
||||
|
||||
|
@ -402,7 +402,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
// if (await _clinicalDataTrialSetRepository.AnyAsync(t => t.Id == data.ClinicalDataTrialSetId && t.UploadRole == UploadRole.PM && t.ClinicalDataLevel == ClinicalLevel.Subject))
|
||||
// {
|
||||
// var needDealTrialReadingCriterionIdList = _repository.Where<ClinicalDataTrialSet>(t => t.Id == data.ClinicalDataTrialSetId)
|
||||
// var needDealTrialReadingCriterionIdList = _clinicalDataTrialSetRepository.Where(t => t.Id == data.ClinicalDataTrialSetId)
|
||||
// .SelectMany(t => t.TrialClinicalDataSetCriteriaList)
|
||||
// .Select(u => u.TrialReadingCriterionId).Distinct().ToList();
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
IRepository<DicomInstance> _dicomInstanceRepository,
|
||||
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
|
||||
IRepository<ReadingClinicalData> _readingClinicalDataRepository,
|
||||
IRepository<ReadingPeriodSet> _readingPeriodSetRepository,
|
||||
IRepository<ReadModule> _readModuleRepository) : BaseService
|
||||
{
|
||||
|
@ -454,7 +455,7 @@ namespace IRaCIS.Application.Services
|
|||
var readModule = await _readModuleRepository.Where(x => x.Id == readModuleId).FirstNotNullAsync();
|
||||
|
||||
|
||||
if(await _repository.Where<ReadingClinicalData>(t => t.ReadingId == readModuleId).AnyAsync(t => t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned))
|
||||
if(await _readingClinicalDataRepository.Where(t => t.ReadingId == readModuleId).AnyAsync(t => t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned))
|
||||
{
|
||||
//---临床资料已签名,不允许删除
|
||||
return ResponseOutput.NotOk(_localizer["ReadModule_SignedDataCannotDelete"]);
|
||||
|
|
|
@ -37,11 +37,13 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
IRepository<User> _userRepository,
|
||||
IRepository<Trial> _trialRepository,
|
||||
IRepository<TrialSite> _trialSiteRepository,
|
||||
IRepository<Doctor> _doctorRepository,
|
||||
IRepository<VerificationCode> _verificationCodeRepository,
|
||||
IRepository<TrialUser> _trialUserRepository,
|
||||
IRepository<TrialSiteUser> _trialSiteUserRepository,
|
||||
IDistributedLockProvider _distributedLockProvider,
|
||||
ITokenService _tokenService,
|
||||
IRepository<UserType> _userTypeRepository,
|
||||
IMailVerificationService _mailVerificationService,
|
||||
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig) : BaseService, ITrialSiteSurveyService
|
||||
{
|
||||
|
@ -105,7 +107,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
//删除验证码历史记录
|
||||
await _verificationCodeRepository.BatchDeleteNoTrackingAsync(t => t.Id == verificationRecord.Id);
|
||||
|
||||
var dockerInfo = await _repository.Where<Doctor>(t => t.EMail == inDto.EmailOrPhone || t.Phone == inDto.EmailOrPhone).FirstOrDefaultAsync();
|
||||
var dockerInfo = await _doctorRepository.Where(t => t.EMail == inDto.EmailOrPhone || t.Phone == inDto.EmailOrPhone).FirstOrDefaultAsync();
|
||||
|
||||
if (dockerInfo != null)
|
||||
{
|
||||
|
@ -167,7 +169,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
#region 20230804 修改调研表逻辑
|
||||
|
||||
var verifyRecord = await _repository.FirstOrDefaultAsync<VerificationCode>(t => (t.EmailOrPhone == userInfo.EmailOrPhone) && t.Code == userInfo.verificationCode && t.CodeType == userInfo.verificationType);
|
||||
var verifyRecord = await _verificationCodeRepository.FirstOrDefaultAsync(t => (t.EmailOrPhone == userInfo.EmailOrPhone) && t.Code == userInfo.verificationCode && t.CodeType == userInfo.verificationType);
|
||||
//检查数据库是否存在该验证码
|
||||
if (verifyRecord == null)
|
||||
{
|
||||
|
@ -630,7 +632,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
survey.IsDeleted = true;
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _trialSiteSurveyRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
|
||||
|
@ -779,7 +781,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
saveItem.UserName = saveItem.UserCode;
|
||||
|
||||
saveItem.UserTypeEnum = _repository.Where<UserType>(t => t.Id == saveItem.UserTypeId).Select(t => t.UserTypeEnum).First();
|
||||
saveItem.UserTypeEnum = _userTypeRepository.Where(t => t.Id == saveItem.UserTypeId).Select(t => t.UserTypeEnum).First();
|
||||
|
||||
|
||||
var newUser = _userRepository.AddAsync(saveItem).Result;
|
||||
|
@ -890,7 +892,7 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
});
|
||||
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _trialSiteUserRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace IRaCIS.Core.Application
|
|||
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
|
||||
IRepository<ReadingCriterionPage> _readingCriterionPageRepository,
|
||||
IOrganInfoService _iOrganInfoService,
|
||||
IRepository<TrialBodyPart> _trialBodyPartRepository,
|
||||
IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository,
|
||||
IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository,
|
||||
IReadingQuestionService iReadingQuestionService,
|
||||
|
@ -50,6 +51,7 @@ namespace IRaCIS.Core.Application
|
|||
IRepository<SystemBasicData> _systemBasicDataRepository,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<Enroll> _enrollRepository,
|
||||
IRepository<TrialStateChange> _trialStateChangeRepository,
|
||||
IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository) : BaseService, ITrialConfigService
|
||||
{
|
||||
|
||||
|
@ -909,7 +911,7 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
//await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });
|
||||
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Ok(await _trialRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
|
@ -1052,7 +1054,7 @@ namespace IRaCIS.Core.Application
|
|||
//}); ;
|
||||
|
||||
|
||||
var result = await _repository.SaveChangesAsync();
|
||||
var result = await _trialRepository.SaveChangesAsync();
|
||||
|
||||
if (trialConfig.IsTrialProcessConfirmed)
|
||||
{
|
||||
|
@ -1101,7 +1103,7 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
trialInfo.UpdateTime = DateTime.Now;
|
||||
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Ok(await _trialRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -1192,7 +1194,7 @@ namespace IRaCIS.Core.Application
|
|||
|
||||
await _fusionCache.SetAsync(CacheKeys.Trial(trial.Id.ToString()), trialStatusStr, TimeSpan.FromDays(7));
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _trialRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
@ -1206,7 +1208,7 @@ namespace IRaCIS.Core.Application
|
|||
[HttpGet("{trialId:guid}")]
|
||||
public async Task<List<TrialStateChangeDTO>> GetTrialStateChangeList(Guid trialId)
|
||||
{
|
||||
return await _repository.Where<TrialStateChange>(t => t.TrialId == trialId).ProjectTo<TrialStateChangeDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
return await _trialStateChangeRepository.Where(t => t.TrialId == trialId).ProjectTo<TrialStateChangeDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1298,7 +1300,7 @@ namespace IRaCIS.Core.Application
|
|||
public async Task<IResponseOutput> AddOrUpdateTrialBodyPart(AddOrUpdateTrialBodyPartCommand incommand)
|
||||
{
|
||||
|
||||
var codeList = await _repository.Where<TrialBodyPart>(t => t.TrialId == incommand.TrialId)
|
||||
var codeList = await _trialBodyPartRepository.Where(t => t.TrialId == incommand.TrialId)
|
||||
.WhereIf(incommand.Id != null, t => t.Id != incommand.Id)
|
||||
.Select(t => t.Code).ToListAsync();
|
||||
|
||||
|
@ -1322,7 +1324,7 @@ namespace IRaCIS.Core.Application
|
|||
VerifyMsg = _localizer["TrialBodyPart_DupName"]
|
||||
};
|
||||
|
||||
var cro = await _repository.InsertOrUpdateAsync<TrialBodyPart, AddOrUpdateTrialBodyPartCommand>(incommand, true, exp);
|
||||
var cro = await _trialBodyPartRepository.InsertOrUpdateAsync(incommand, true, exp);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -171,7 +171,7 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialUseRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Result(success);
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
_mapper.Map(updateTrialUserCommand, trialUser);
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _trialUseRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
|
||||
|
@ -239,7 +239,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
await _trialUseRepository.BatchUpdateNoTrackingAsync(t => t.Id == id, u => new TrialUser() { IsDeleted = isDelete, RemoveTime = isDelete ? DateTime.Now : null });
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _trialUseRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<VisitStage> _visitStageRepository,
|
||||
IRepository<TrialPaymentPrice> _trialPaymentPriceRepository,
|
||||
IRepository<TrialDictionary> _trialDictionaryRepository,
|
||||
IRepository<TrialBodyPart> _trialBodyPartRepository,
|
||||
IOptionsMonitor<ServiceVerifyConfigOption> _verifyConfig) : BaseService, ITrialService
|
||||
{
|
||||
|
||||
|
@ -222,7 +223,7 @@ namespace IRaCIS.Application.Services
|
|||
await _visitStageRepository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 1, BlindName = "B" + 10.ToString("D3"), VisitDay = 30, VisitName = "Visit 1", VisitWindowLeft = -5, VisitWindowRight = 5 });
|
||||
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialRepository.SaveChangesAsync();
|
||||
|
||||
//维护CRO Sponsor
|
||||
await DealSponsorAndCROAsync(trial);
|
||||
|
@ -238,7 +239,7 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
|
||||
|
||||
await _repository.AddRangeAsync(needAddBodyPartList, true);
|
||||
await _trialBodyPartRepository.AddRangeAsync(needAddBodyPartList, true);
|
||||
|
||||
await _fusionCache.SetAsync(CacheKeys.Trial(trial.Id.ToString()), StaticData.TrialState.TrialInitializing, TimeSpan.FromDays(7));
|
||||
|
||||
|
@ -286,7 +287,7 @@ namespace IRaCIS.Application.Services
|
|||
trial.DeclarationTypes = $"|{string.Join('|', updateModel.DeclarationTypeEnumList.Select(x => ((int)x).ToString()).ToList())}|";
|
||||
trial.AttendedReviewerTypes = $"|{string.Join('|', updateModel.AttendedReviewerTypeEnumList.Select(x => ((int)x).ToString()).ToList())}|";
|
||||
|
||||
var success = await _repository.SaveChangesAsync();
|
||||
var success = await _trialRepository.SaveChangesAsync();
|
||||
|
||||
//维护CRO Sponsor
|
||||
await DealSponsorAndCROAsync(trial);
|
||||
|
|
|
@ -133,7 +133,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
await _trialSiteRepository.AddRangeAsync(addArray);
|
||||
|
||||
|
||||
return ResponseOutput.Result(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Result(await _trialSiteRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
|
@ -309,9 +309,9 @@ namespace IRaCIS.Core.Application.Services
|
|||
return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteAssociatedSubject"]);
|
||||
}
|
||||
|
||||
await _repository.DeleteAsync(relation);
|
||||
await _trialSiteRepository.DeleteAsync(relation);
|
||||
|
||||
return ResponseOutput.Result(await _repository.SaveChangesAsync());
|
||||
return ResponseOutput.Result(await _trialSiteUserRepository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<Dictionary> _dictionaryRepository,
|
||||
IRepository<DicomStudy> _dicomStudyRepository,
|
||||
IRepository<SCPPatient> _scpPatientRepository,
|
||||
IRepository<SCPImageUpload> _scpImageUploadRepository,
|
||||
IDistributedLockProvider _distributedLockProvider) : BaseService
|
||||
{
|
||||
|
||||
|
@ -106,7 +107,7 @@ namespace IRaCIS.Application.Services
|
|||
[HttpPost]
|
||||
public async Task<IResponseOutput<PageOutput<SCPImageUploadView>>> GetSCPImageUploadList(SCPImageUploadQuery inQuery)
|
||||
{
|
||||
var query = _repository.Where<SCPImageUpload>(t => t.TrialId == inQuery.TrialId)
|
||||
var query = _scpImageUploadRepository.Where(t => t.TrialId == inQuery.TrialId)
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CalledAE), t => t.CalledAE.Contains(inQuery.CalledAE))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAEIP), t => t.CallingAEIP.Contains(inQuery.CallingAEIP))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAE), t => t.CallingAE.Contains(inQuery.CallingAE))
|
||||
|
@ -578,7 +579,6 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
}
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _scpPatientRepository.BatchUpdateNoTrackingAsync(t => t.Id == scpStudy.PatientId, u => new SCPPatient() { SubjectId = subjectId });
|
||||
await _scpStudyRepository.BatchUpdateNoTrackingAsync(t => t.Id == scpStudyId, u => new SCPStudy() { SubjectVisitId = subjectVisitId });
|
||||
}
|
||||
|
@ -588,7 +588,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _scpStudyRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
|
|
|
@ -31,6 +31,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
|
||||
IRepository<Subject> _subjectRepository,
|
||||
IRepository<DicomInstance> _dicomInstanceRepository,
|
||||
IRepository<TaskStudy> _taskStudyRepository,
|
||||
IServiceProvider _serviceProvider,
|
||||
IRepository<DicomSeries> _dicomSeriesRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository
|
||||
|
@ -185,7 +186,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
//[Authorize(Policy = IRaCISPolicy.CRC)]
|
||||
public async Task<IResponseOutput> DeleteSV(Guid id)
|
||||
{
|
||||
if (await _repository.AnyAsync<DicomStudy>(t => t.SubjectVisitId == id))
|
||||
if (await _dicomStudyRepository.AnyAsync(t => t.SubjectVisitId == id))
|
||||
{
|
||||
//---当前访视已经有影像上传,不允许删除。
|
||||
return ResponseOutput.NotOk(_localizer["Visit_UploadedNoDelete"]);
|
||||
|
@ -449,7 +450,7 @@ namespace IRaCIS.Core.Application.Services
|
|||
if (taskInfo.TaskStudyCount > 0)
|
||||
{
|
||||
|
||||
var taskStudyList = await _repository.Where<TaskStudy>(t => t.TrialId == indto.TrialId && t.VisitTaskId == indto.VisitTaskId).ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId && t.VisitTaskId == indto.VisitTaskId).ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
||||
foreach (var study in taskStudyList)
|
||||
{
|
||||
|
|
|
@ -41,12 +41,15 @@ namespace IRaCIS.Application.Services
|
|||
IRepository<SystemDocument> _systemDocumentRepository,
|
||||
IRepository<TrialClinicalDataSetCriterion> _trialClinicalDataSetCriterionRepository,
|
||||
IRepository<DicomInstance> _dicomInstanceRepository,
|
||||
IRepository<Internationalization> _internationalizationRepository,
|
||||
IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository,
|
||||
IRepository<DicomStudy> _dicomStudyRepository,
|
||||
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<DicomSeries> _dicomSeriesRepository,
|
||||
IRepository<User> _userRepository,
|
||||
IRepository<TrialBodyPart> _trialBodyPartRepository,
|
||||
IDistributedLockProvider _distributedLockProvider,
|
||||
ILogger<TestService> _logger) : BaseService
|
||||
{
|
||||
|
@ -79,7 +82,7 @@ namespace IRaCIS.Application.Services
|
|||
await _readingConsistentClinicalDataRepository.BatchDeleteNoTrackingAsync(t => consistentSubjectIdList.Contains(t.SubjectId));
|
||||
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _readingConsistentClinicalDataRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
@ -175,11 +178,11 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
foreach (var row in rows)
|
||||
{
|
||||
await _repository.InsertOrUpdateAsync<Internationalization, InternationalizationAddOrEdit>(row);
|
||||
await _internationalizationRepository.InsertOrUpdateAsync(row);
|
||||
|
||||
}
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _internationalizationRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
@ -188,7 +191,6 @@ namespace IRaCIS.Application.Services
|
|||
public async Task<string> Get()
|
||||
{
|
||||
|
||||
await _repository.Where<ReadingConsistentClinicalData>(t => t.SubjectId == Guid.Empty).Include(t => t.ReadingClinicalDataPDFList).ExecuteDeleteAsync();
|
||||
|
||||
// Generate RSA keys
|
||||
var keyPair = RSAHelper.GenerateRSAKeyPair(2048);
|
||||
|
@ -436,10 +438,10 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
tempList.ForEach(t => t.TrialId = trialId);
|
||||
|
||||
await _repository.AddRangeAsync(tempList);
|
||||
await _trialBodyPartRepository.AddRangeAsync(tempList);
|
||||
}
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _dicRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
@ -451,7 +453,7 @@ namespace IRaCIS.Application.Services
|
|||
[AllowAnonymous]
|
||||
public async Task<IResponseOutput> ModifyClinicalDataTable()
|
||||
{
|
||||
var needAddList = _repository.Where<ClinicalDataTrialSet>(t => t.CriterionEnumListStr != String.Empty && t.TrialClinicalDataSetCriteriaList.Count() == 0).ToList();
|
||||
var needAddList = _clinicalDataTrialSetRepository.Where(t => t.CriterionEnumListStr != String.Empty && t.TrialClinicalDataSetCriteriaList.Count() == 0).ToList();
|
||||
|
||||
|
||||
//遍历项目
|
||||
|
@ -478,7 +480,7 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
}
|
||||
}
|
||||
await _repository.SaveChangesAsync();
|
||||
await _trialClinicalDataSetCriterionRepository.SaveChangesAsync();
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
|
@ -553,7 +555,7 @@ namespace IRaCIS.Application.Services
|
|||
Console.WriteLine($"Error: {ex.Message}");
|
||||
}
|
||||
|
||||
await _repository.SaveChangesAsync();
|
||||
await _dicomStudyRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue