Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ea5de83364 | |||
| cf5a8b20e4 | |||
| ea95ece331 | |||
| 894b9eb67b | |||
| d7e5b3f57c | |||
| 29a47e7351 | |||
| 6d2cddfcfc | |||
| 60b2978deb | |||
| 79187772a6 | |||
| 105da818a8 | |||
| 584516f936 | |||
| a7429c1739 | |||
| 75f227e547 | |||
| 60c31b470c | |||
| 731f049fc0 | |||
| 201c24238c |
@@ -134,7 +134,7 @@ namespace IRaCIS.Api.Controllers
|
||||
return returnModel;
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[Authorize]
|
||||
[HttpGet("user/GenerateSTS")]
|
||||
public IResponseOutput GenerateSTS( [FromServices] IWebHostEnvironment webHostEnvironment)
|
||||
{
|
||||
|
||||
@@ -1083,122 +1083,18 @@ namespace IRaCIS.Core.API.Controllers
|
||||
}
|
||||
|
||||
|
||||
#region 废弃
|
||||
/// <summary> 通用文件下载 </summary>
|
||||
[AllowAnonymous]
|
||||
[HttpGet("CommonDocument/DownloadCommonDoc")]
|
||||
public async Task<IActionResult> DownloadCommonFile(string code, [FromServices] IRepository<CommonDocument> _commonDocumentRepository)
|
||||
{
|
||||
var (filePath, fileName) = await FileStoreHelper.GetCommonDocPhysicalFilePathAsync(_hostEnvironment, _commonDocumentRepository, code);
|
||||
|
||||
///// <summary> 缩略图 </summary>
|
||||
//[AllowAnonymous]
|
||||
//[HttpGet("Common/LocalFilePreview")]
|
||||
//public async Task<FileContentResult> LocalFilePreview(string relativePath)
|
||||
//{
|
||||
|
||||
// var _fileStorePath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, relativePath);
|
||||
|
||||
// var storePreviewPath = _fileStorePath + ".preview.jpeg";
|
||||
|
||||
// if (!System.IO.File.Exists(storePreviewPath))
|
||||
// {
|
||||
// ImageHelper.ResizeSave(_fileStorePath, storePreviewPath);
|
||||
// }
|
||||
|
||||
// return new FileContentResult(await System.IO.File.ReadAllBytesAsync(storePreviewPath), "image/jpeg");
|
||||
|
||||
//}
|
||||
|
||||
|
||||
///// <summary> 通用文件下载 </summary>
|
||||
//[AllowAnonymous]
|
||||
//[HttpGet("CommonDocument/DownloadCommonDoc")]
|
||||
//public async Task<IActionResult> DownloadCommonFile(string code, [FromServices] IRepository<CommonDocument> _commonDocumentRepository)
|
||||
//{
|
||||
// var (filePath, fileName) = await FileStoreHelper.GetCommonDocPhysicalFilePathAsync(_hostEnvironment, _commonDocumentRepository, code);
|
||||
|
||||
// new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(filePath), out var contentType);
|
||||
|
||||
// return File(System.IO.File.OpenRead(filePath), contentType ?? "application/octet-stream", fileName);
|
||||
|
||||
//}
|
||||
|
||||
///// <summary>
|
||||
///// 下载项目临床数据文件
|
||||
///// </summary>
|
||||
///// <param name="clinicalDataTrialSetId"></param>
|
||||
///// <param name="_clinicalDataTrialSetRepository"></param>
|
||||
///// <returns></returns>
|
||||
//[AllowAnonymous]
|
||||
//[HttpGet("CommonDocument/DownloadTrialClinicalFile")]
|
||||
//public async Task<IActionResult> DownloadTrialClinicalFile(Guid clinicalDataTrialSetId, [FromServices] IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository)
|
||||
//{
|
||||
// var (filePath, fileName) = await FileStoreHelper.GetTrialClinicalPathAsync(_hostEnvironment, _clinicalDataTrialSetRepository, clinicalDataTrialSetId);
|
||||
|
||||
// new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(filePath), out var contentType);
|
||||
|
||||
// return File(System.IO.File.OpenRead(filePath), contentType ?? "application/octet-stream", fileName);
|
||||
|
||||
//}
|
||||
|
||||
|
||||
///// <summary>
|
||||
///// 下载系统临床数据文件
|
||||
///// </summary>
|
||||
///// <param name="clinicalDataSystemSetId"></param>
|
||||
///// <param name="_clinicalDataSystemSetRepository"></param>
|
||||
///// <returns></returns>
|
||||
//[AllowAnonymous]
|
||||
//[HttpGet("CommonDocument/DownloadSystemClinicalFile")]
|
||||
//public async Task<IActionResult> DownloadSystemClinicalFile(Guid clinicalDataSystemSetId, [FromServices] IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository)
|
||||
//{
|
||||
// var (filePath, fileName) = await FileStoreHelper.GetSystemClinicalPathAsync(_hostEnvironment, _clinicalDataSystemSetRepository, clinicalDataSystemSetId);
|
||||
|
||||
// new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(filePath), out var contentType);
|
||||
|
||||
// return File(System.IO.File.OpenRead(filePath), contentType ?? "application/octet-stream", fileName);
|
||||
|
||||
//}
|
||||
|
||||
///// <summary>
|
||||
/////上传项目签名文档
|
||||
///// </summary>
|
||||
///// <param name="trialId"></param>
|
||||
///// <returns></returns>
|
||||
//[HttpPost("TrialDocument/UploadTrialDoc/{trialId:guid}")]
|
||||
//[DisableRequestSizeLimit]
|
||||
//[DisableFormValueModelBinding]
|
||||
//public async Task<IResponseOutput> UploadTrialDoc(Guid trialId)
|
||||
//{
|
||||
|
||||
// return await SingleFileUploadAsync((fileName) => FileStoreHelper.GetTrialSignDocPath(_hostEnvironment, trialId, fileName));
|
||||
|
||||
//}
|
||||
|
||||
///// <summary>
|
||||
///// 上传系统签名文档
|
||||
///// </summary>
|
||||
///// <returns></returns>
|
||||
//[HttpPost("TrialDocument/UploadSystemDoc")]
|
||||
//[DisableRequestSizeLimit]
|
||||
//[DisableFormValueModelBinding]
|
||||
//public async Task<IResponseOutput> UploadSysTemDoc()
|
||||
//{
|
||||
|
||||
// return await SingleFileUploadAsync((fileName) => FileStoreHelper.GetSystemSignDocPath(_hostEnvironment, fileName));
|
||||
|
||||
//}
|
||||
///// <summary>
|
||||
///// 上传系统通知文档
|
||||
///// </summary>
|
||||
///// <returns></returns>
|
||||
//[HttpPost("SystemNotice/UploadSystemNoticeDoc")]
|
||||
//[DisableRequestSizeLimit]
|
||||
//[DisableFormValueModelBinding]
|
||||
//public async Task<IResponseOutput> UploadSystemNoticeDoc()
|
||||
//{
|
||||
|
||||
// return await SingleFileUploadAsync((fileName) => FileStoreHelper.GetSystemNoticePath(_hostEnvironment, fileName));
|
||||
|
||||
//}
|
||||
#endregion
|
||||
new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(filePath), out var contentType);
|
||||
|
||||
return File(System.IO.File.OpenRead(filePath), contentType ?? "application/octet-stream", fileName);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传通用文档 比如一致性核查的 比如导出的excel 模板
|
||||
|
||||
@@ -226,6 +226,9 @@
|
||||
<param name="trialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.API.Controllers.UploadDownLoadController.DownloadCommonFile(System.String,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CommonDocument})">
|
||||
<summary> 通用文件下载 </summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.API.Controllers.UploadDownLoadController.UploadCommonDoc">
|
||||
<summary>
|
||||
上传通用文档 比如一致性核查的 比如导出的excel 模板
|
||||
|
||||
Binary file not shown.
@@ -34,7 +34,10 @@
|
||||
角色: {5}
|
||||
</div>
|
||||
<div>
|
||||
系统登录地址:{6}
|
||||
系统登录地址:
|
||||
<a href='{6}' style='margin-left:30px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
|
||||
点击跳转
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -34,7 +34,10 @@
|
||||
Role: {5}
|
||||
</div>
|
||||
<div>
|
||||
Login URL: {6}
|
||||
Login URL:
|
||||
<a href='{6}' style='margin-left:30px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
|
||||
click redirect
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -34,7 +34,10 @@
|
||||
角色: {5}
|
||||
</div>
|
||||
<div>
|
||||
系统登录地址:{6}
|
||||
系统登录地址:
|
||||
<a href='{6}' style='margin-left:30px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
|
||||
点击跳转
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -34,7 +34,10 @@
|
||||
Role: {5}
|
||||
</div>
|
||||
<div>
|
||||
Login URL: {6}
|
||||
Login URL:
|
||||
<a href='{6}' style='margin-left:30px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
|
||||
click redirect
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ using MiniExcelLibs;
|
||||
using MiniExcelLibs.OpenXml;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.HPSF;
|
||||
using NPOI.HSSF.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using SkiaSharp;
|
||||
@@ -145,8 +146,12 @@ public static class ExcelExportHelper
|
||||
workbook.RemoveSheetAt(1);
|
||||
}
|
||||
|
||||
|
||||
FileStream fileOut = new FileStream("resultTemplate", FileMode.Create, FileAccess.ReadWrite);
|
||||
workbook.Write(fileOut);
|
||||
|
||||
var memoryStream2 = new MemoryStream();
|
||||
workbook.Write(memoryStream2);
|
||||
workbook.Write(memoryStream2,true);
|
||||
|
||||
memoryStream2.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
@@ -316,7 +321,7 @@ public static class ExcelExportHelper
|
||||
}
|
||||
|
||||
var memoryStream2 = new MemoryStream();
|
||||
workbook.Write(memoryStream2);
|
||||
workbook.Write(memoryStream2,true);
|
||||
|
||||
memoryStream2.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
|
||||
@@ -233,83 +233,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
&& t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.TaskState == TaskState.Effect
|
||||
&& t.SourceSubjectVisitId == subjectVisit.Id).ToList();
|
||||
|
||||
if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Double)
|
||||
{
|
||||
|
||||
|
||||
VisitTask? task1 = existCurrentVisitTaskList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm1);
|
||||
VisitTask? task2 = existCurrentVisitTaskList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm2);
|
||||
|
||||
if (!existCurrentVisitTaskList.Any(t => t.ArmEnum == Arm.DoubleReadingArm1))
|
||||
{
|
||||
currentMaxCodeInt = currentMaxCodeInt + 1;
|
||||
|
||||
|
||||
|
||||
|
||||
task1 = await _visitTaskRepository.AddAsync(new VisitTask()
|
||||
{
|
||||
TrialId = trialId,
|
||||
SubjectId = subjectVisit.SubjectId,
|
||||
IsUrgent = subjectVisit.IsUrgent,
|
||||
TaskBlindName = blindTaskName,
|
||||
TaskName = subjectVisit.VisitName,
|
||||
VisitTaskNum = subjectVisit.VisitNum,
|
||||
TaskUrgentType = taskUrgentType,
|
||||
IsCanEditUrgentState = isCanEditUrgentState,
|
||||
//CheckPassedTime = subjectVisit.CheckPassedTime,
|
||||
ArmEnum = Arm.DoubleReadingArm1,//特殊
|
||||
Code = currentMaxCodeInt,
|
||||
SourceSubjectVisitId = subjectVisit.Id,
|
||||
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt, nameof(VisitTask)),
|
||||
ReadingCategory = ReadingCategory.Visit,
|
||||
|
||||
TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
|
||||
IsNeedClinicalDataSign = isNeedClinicalDataSign,
|
||||
IsClinicalDataSign = isClinicalDataSign
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if (!existCurrentVisitTaskList.Any(t => t.ArmEnum == Arm.DoubleReadingArm2))
|
||||
{
|
||||
currentMaxCodeInt = currentMaxCodeInt + 1;
|
||||
|
||||
|
||||
task2 = await _visitTaskRepository.AddAsync(new VisitTask()
|
||||
{
|
||||
TrialId = trialId,
|
||||
SubjectId = subjectVisit.SubjectId,
|
||||
IsUrgent = subjectVisit.IsUrgent,
|
||||
TaskBlindName = blindTaskName,
|
||||
TaskName = subjectVisit.VisitName,
|
||||
TaskUrgentType = taskUrgentType,
|
||||
IsCanEditUrgentState = isCanEditUrgentState,
|
||||
VisitTaskNum = subjectVisit.VisitNum,
|
||||
//CheckPassedTime = subjectVisit.CheckPassedTime,
|
||||
ArmEnum = Arm.DoubleReadingArm2,//特殊
|
||||
Code = currentMaxCodeInt,
|
||||
SourceSubjectVisitId = subjectVisit.Id,
|
||||
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt, nameof(VisitTask)),
|
||||
ReadingCategory = ReadingCategory.Visit,
|
||||
|
||||
TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
|
||||
IsNeedClinicalDataSign = isNeedClinicalDataSign,
|
||||
IsClinicalDataSign = isClinicalDataSign
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
|
||||
|
||||
|
||||
|
||||
|
||||
var defaultState = trialReadingCriterionConfig.FollowVisitAutoAssignDefaultState == TaskAllocateDefaultState.InitAllocated ? TaskAllocationState.InitAllocated : TaskAllocationState.Allocated;
|
||||
|
||||
}
|
||||
else if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Single)
|
||||
//只有单重阅片
|
||||
if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Single)
|
||||
{
|
||||
|
||||
VisitTask? singleTask = existCurrentVisitTaskList.FirstOrDefault(t => t.ArmEnum == Arm.SingleReadingArm);
|
||||
@@ -336,8 +261,12 @@ namespace IRaCIS.Core.Application.Service
|
||||
ReadingCategory = ReadingCategory.Visit,
|
||||
TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
|
||||
IsNeedClinicalDataSign = isNeedClinicalDataSign,
|
||||
IsClinicalDataSign = isClinicalDataSign
|
||||
});
|
||||
IsClinicalDataSign = isClinicalDataSign,
|
||||
|
||||
SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget)
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -681,11 +610,11 @@ namespace IRaCIS.Core.Application.Service
|
||||
//之前有回退到影像上传的访视 那么当前访视一致性核查通过的时候,当前访视生成但是不分配出去(排除失访的)
|
||||
var beforeBackVisitTask = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TrialReadingCriterionId== trialReadingCriterionId && t.VisitTaskNum < subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit && t.SourceSubjectVisit.CheckState != CheckStateEnum.CVPassed && t.SourceSubjectVisit.IsLostVisit == false).OrderBy(t => t.VisitTaskNum).FirstOrDefaultAsync();
|
||||
|
||||
singleTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
||||
|
||||
if (beforeBackVisitTask == null)
|
||||
{
|
||||
|
||||
singleTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
||||
|
||||
|
||||
var followBackVisitTask = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.VisitTaskNum > subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit && t.SourceSubjectVisit.CheckState != CheckStateEnum.CVPassed && t.SourceSubjectVisit.IsLostVisit == false).OrderBy(t => t.VisitTaskNum).FirstOrDefaultAsync();
|
||||
@@ -765,7 +694,11 @@ namespace IRaCIS.Core.Application.Service
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
singleTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -876,6 +809,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
// AllocateTime = DateTime.Now,
|
||||
//DoctorUserId = reReadingVisitTask.DoctorUserId,
|
||||
|
||||
SuggesteFinishedTime= reReadingVisitTask.SuggesteFinishedTime,
|
||||
|
||||
});
|
||||
|
||||
generateTaskCommand.Action(newTask);
|
||||
|
||||
@@ -110,5 +110,13 @@ namespace IRaCIS.Core.Application.Service
|
||||
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{commonDocumentId:guid}")]
|
||||
public async Task<IResponseOutput> DeleteCommonDocument(Guid commonDocumentId)
|
||||
{
|
||||
var success = await _commonDocumentRepository.DeleteFromQueryAsync(t => t.Id == commonDocumentId, true,true);
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -490,7 +490,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||
}
|
||||
|
||||
var memoryStream2 = new MemoryStream();
|
||||
wb.Write(memoryStream2);
|
||||
wb.Write(memoryStream2,true);
|
||||
memoryStream2.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
return new FileStreamResult(memoryStream2, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
||||
|
||||
@@ -953,7 +953,9 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
break;
|
||||
case TrialQCProcess.DoubleAudit:
|
||||
|
||||
visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId != _userInfo.Id && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.QCPassed))).Include(x => x.Subject).ToListAsync();
|
||||
visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId &&
|
||||
((x.CurrentActionUserId == _userInfo.Id)||(!x.IsTake&& x.AuditState != AuditStateEnum.QCPassed&& (x.PreliminaryAuditUserId != _userInfo.Id)))
|
||||
).Include(x => x.Subject).ToListAsync();
|
||||
if (subjectVisit != null)
|
||||
{
|
||||
return new GetNextIQCQualityOutDto()
|
||||
|
||||
@@ -461,7 +461,7 @@ namespace IRaCIS.Core.Application
|
||||
ToBeDealedCount = t.SubjectVisitList.Where(c => c.TrialSite.CRCUserList.Any(u => u.UserId == _userInfo.Id))
|
||||
.SelectMany(c => c.QCChallengeList)
|
||||
|
||||
.Where(u => u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IQC).Count(),
|
||||
.Where(u => u.IsClosed == false && (u.LatestReplyUser.UserTypeEnum == UserTypeEnum.IQC || u.LatestReplyUserId==null)).Count(),
|
||||
|
||||
}).Where(x => x.ToBeDealedCount > 0); ;
|
||||
|
||||
@@ -587,7 +587,7 @@ namespace IRaCIS.Core.Application
|
||||
TrialCode = t.TrialCode,
|
||||
UrgentCount = t.SubjectVisitList
|
||||
.Where(c => c.TrialSite.CRCUserList.Any(u => u.UserId == _userInfo.Id))
|
||||
.Where(u => u.SubmitState == SubmitStateEnum.ToSubmit && u.IsUrgent).Count(),
|
||||
.Where(u => u.SubmitState == SubmitStateEnum.ToSubmit && (u.IsEnrollmentConfirm ||u.PDState==PDStateEnum.PDProgress || u.Trial.IsUrgent ||u.Subject.IsUrgent)/*u.IsUrgent*/).Count(),
|
||||
|
||||
|
||||
ToBeDealedCount = t.SubjectVisitList
|
||||
@@ -647,7 +647,7 @@ namespace IRaCIS.Core.Application
|
||||
//待审核通过,统计从已领取到QC提交之间的 已领取 待审核 审核中 (审核完成 领取人就会清理 所以只用查询当前领取人是自己的就好了)
|
||||
ToBeReviewedCount = t.SubjectVisitList.Where(u => u.CurrentActionUserId == _userInfo.Id).Count()
|
||||
|
||||
}).Where(x => x.UrgentCount > 0);
|
||||
}).Where(x => x.ToBeClaimedCount+x.ToBeReviewedCount > 0);
|
||||
|
||||
var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(ImageQualityToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc);
|
||||
|
||||
@@ -1031,7 +1031,7 @@ namespace IRaCIS.Core.Application
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.Code), o => o.TrialCode.Contains(inQuery.Code))
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.ResearchProgramNo), o => o.ResearchProgramNo.Contains(inQuery.ResearchProgramNo))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.ExperimentName), o => o.ExperimentName.Contains(inQuery.ExperimentName))
|
||||
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.Admin, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id && t.IsDeleted == false) && t.IsDeleted == false)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.Admin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.OP, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id && t.IsDeleted == false) && t.IsDeleted == false)
|
||||
.Select(t => new TrialToBeDoneDto()
|
||||
{
|
||||
TrialId = t.Id,
|
||||
|
||||
@@ -95,7 +95,8 @@ namespace IRaCIS.Application.Services
|
||||
.WhereIf(multiModalityIdSelectCount > 0, t => t.TrialDicList.Count(t => t.KeyName == StaticData.Modality) == multiModalityIdSelectCount)
|
||||
.WhereIf(multiCriteriaSelectCount > 0, t => t.TrialDicList.Count(t => t.KeyName == StaticData.Criterion) == multiCriteriaSelectCount)
|
||||
.WhereIf(multiReviewTypeSelectCount > 0, t => t.TrialDicList.Count(t => t.KeyName == StaticData.ReviewType) == multiReviewTypeSelectCount)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id && t.IsDeleted == false) && t.IsDeleted == false)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.Admin
|
||||
&& _userInfo.UserTypeEnumInt != (int)UserTypeEnum.OP, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id && t.IsDeleted == false) && t.IsDeleted == false)
|
||||
.ProjectTo<TrialDetailDTO>(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id , isEn_Us= _userInfo.IsEn_Us });
|
||||
|
||||
return await query.ToPagedListAsync(searchParam.PageIndex, searchParam.PageSize, string.IsNullOrWhiteSpace(searchParam.SortField) ? "CreateTime" : searchParam.SortField, searchParam.Asc);
|
||||
@@ -107,7 +108,8 @@ namespace IRaCIS.Application.Services
|
||||
public async Task<List<TrialSelectDTO>> GetTrialSelect()
|
||||
{
|
||||
return await _trialRepository.AsQueryable().IgnoreQueryFilters()
|
||||
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id) && t.IsDeleted == false)
|
||||
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt !=(int)UserTypeEnum.Admin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.OP
|
||||
, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id) && t.IsDeleted == false)
|
||||
|
||||
.ProjectTo<TrialSelectDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
QA = 12,
|
||||
|
||||
|
||||
OP=13,
|
||||
|
||||
SPM=20,
|
||||
APM=21,
|
||||
|
||||
Reference in New Issue
Block a user