diff --git a/IRaCIS.Core.API/Controllers/ExtraController.cs b/IRaCIS.Core.API/Controllers/ExtraController.cs
index 5685f2b87..1234a2e45 100644
--- a/IRaCIS.Core.API/Controllers/ExtraController.cs
+++ b/IRaCIS.Core.API/Controllers/ExtraController.cs
@@ -134,7 +134,7 @@ namespace IRaCIS.Api.Controllers
return returnModel;
}
-
+ [Authorize]
[HttpGet("user/GenerateSTS")]
public IResponseOutput GenerateSTS( [FromServices] IWebHostEnvironment webHostEnvironment)
{
diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs
index d8028d2b1..0a7430625 100644
--- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs
+++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs
@@ -1083,122 +1083,18 @@ namespace IRaCIS.Core.API.Controllers
}
- #region 废弃
+ /// 通用文件下载
+ [AllowAnonymous]
+ [HttpGet("CommonDocument/DownloadCommonDoc")]
+ public async Task DownloadCommonFile(string code, [FromServices] IRepository _commonDocumentRepository)
+ {
+ var (filePath, fileName) = await FileStoreHelper.GetCommonDocPhysicalFilePathAsync(_hostEnvironment, _commonDocumentRepository, code);
- ///// 缩略图
- //[AllowAnonymous]
- //[HttpGet("Common/LocalFilePreview")]
- //public async Task 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");
-
- //}
-
-
- ///// 通用文件下载
- //[AllowAnonymous]
- //[HttpGet("CommonDocument/DownloadCommonDoc")]
- //public async Task DownloadCommonFile(string code, [FromServices] IRepository _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);
-
- //}
-
- /////
- ///// 下载项目临床数据文件
- /////
- /////
- /////
- /////
- //[AllowAnonymous]
- //[HttpGet("CommonDocument/DownloadTrialClinicalFile")]
- //public async Task DownloadTrialClinicalFile(Guid clinicalDataTrialSetId, [FromServices] IRepository _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);
-
- //}
-
-
- /////
- ///// 下载系统临床数据文件
- /////
- /////
- /////
- /////
- //[AllowAnonymous]
- //[HttpGet("CommonDocument/DownloadSystemClinicalFile")]
- //public async Task DownloadSystemClinicalFile(Guid clinicalDataSystemSetId, [FromServices] IRepository _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);
-
- //}
-
- /////
- /////上传项目签名文档
- /////
- /////
- /////
- //[HttpPost("TrialDocument/UploadTrialDoc/{trialId:guid}")]
- //[DisableRequestSizeLimit]
- //[DisableFormValueModelBinding]
- //public async Task UploadTrialDoc(Guid trialId)
- //{
-
- // return await SingleFileUploadAsync((fileName) => FileStoreHelper.GetTrialSignDocPath(_hostEnvironment, trialId, fileName));
-
- //}
-
- /////
- ///// 上传系统签名文档
- /////
- /////
- //[HttpPost("TrialDocument/UploadSystemDoc")]
- //[DisableRequestSizeLimit]
- //[DisableFormValueModelBinding]
- //public async Task UploadSysTemDoc()
- //{
-
- // return await SingleFileUploadAsync((fileName) => FileStoreHelper.GetSystemSignDocPath(_hostEnvironment, fileName));
-
- //}
- /////
- ///// 上传系统通知文档
- /////
- /////
- //[HttpPost("SystemNotice/UploadSystemNoticeDoc")]
- //[DisableRequestSizeLimit]
- //[DisableFormValueModelBinding]
- //public async Task 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);
+ }
///
/// 上传通用文档 比如一致性核查的 比如导出的excel 模板
diff --git a/IRaCIS.Core.API/resultTemplate b/IRaCIS.Core.API/resultTemplate
new file mode 100644
index 000000000..556bbb59a
Binary files /dev/null and b/IRaCIS.Core.API/resultTemplate differ
diff --git a/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs b/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs
index a7ea86977..fd280abf1 100644
--- a/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs
+++ b/IRaCIS.Core.Application/Helper/ExcelExportHelper.cs
@@ -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);
diff --git a/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs b/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs
index d9e1cfe9f..bc7db9531 100644
--- a/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs
+++ b/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs
@@ -110,5 +110,13 @@ namespace IRaCIS.Core.Application.Service
}
+
+ [HttpDelete("{commonDocumentId:guid}")]
+ public async Task DeleteCommonDocument(Guid commonDocumentId)
+ {
+ var success = await _commonDocumentRepository.DeleteFromQueryAsync(t => t.Id == commonDocumentId, true,true);
+ return ResponseOutput.Ok();
+ }
+
}
}
diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
index abdba14f3..fe9b30582 100644
--- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
+++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
@@ -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")
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
index f9caadb9e..c0cef017d 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
@@ -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,
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
index b92b011ad..62849f626 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
@@ -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(_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> 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(_mapper.ConfigurationProvider).ToListAsync();
}
diff --git a/IRaCIS.Core.Domain.Share/User/UserType.cs b/IRaCIS.Core.Domain.Share/User/UserType.cs
index a5f449f12..5d2221939 100644
--- a/IRaCIS.Core.Domain.Share/User/UserType.cs
+++ b/IRaCIS.Core.Domain.Share/User/UserType.cs
@@ -42,7 +42,7 @@
QA = 12,
-
+ OP=13,
SPM=20,
APM=21,