提示语修改

IRC_NewDev
he 2024-02-21 09:36:03 +08:00
parent edf8af3e4d
commit 7e5cbd92b4
1 changed files with 27 additions and 21 deletions

View File

@ -33,6 +33,7 @@ using Microsoft.AspNetCore.SignalR;
using Microsoft.AspNetCore.StaticFiles; using Microsoft.AspNetCore.StaticFiles;
using Microsoft.AspNetCore.WebUtilities; using Microsoft.AspNetCore.WebUtilities;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers; using Microsoft.Net.Http.Headers;
using MiniExcelLibs; using MiniExcelLibs;
@ -235,13 +236,17 @@ namespace IRaCIS.Core.API.Controllers
public IUserInfo _userInfo { get; set; } public IUserInfo _userInfo { get; set; }
private readonly IMediator _mediator; private readonly IMediator _mediator;
private readonly IWebHostEnvironment _hostEnvironment;
public IStringLocalizer _localizer { get; set; }
private readonly IWebHostEnvironment _hostEnvironment;
private readonly IRepository _repository; private readonly IRepository _repository;
private readonly IEasyCachingProvider _provider; private readonly IEasyCachingProvider _provider;
private readonly QCCommon _qCCommon; private readonly QCCommon _qCCommon;
public StudyController(IMapper mapper, IUserInfo userInfo, IWebHostEnvironment hostEnvironment, IMediator mediator, IEasyCachingProvider provider, public StudyController(IMapper mapper, IStringLocalizer localizer, IUserInfo userInfo, IWebHostEnvironment hostEnvironment, IMediator mediator, IEasyCachingProvider provider,
QCCommon qCCommon, QCCommon qCCommon,
IRepository repository) IRepository repository)
{ {
@ -249,8 +254,8 @@ namespace IRaCIS.Core.API.Controllers
_provider = provider; _provider = provider;
_hostEnvironment = hostEnvironment; _hostEnvironment = hostEnvironment;
_mediator = mediator; _mediator = mediator;
_localizer = localizer;
_mapper = mapper; _mapper = mapper;
_userInfo = userInfo; _userInfo = userInfo;
_repository = repository; _repository = repository;
} }
@ -313,7 +318,7 @@ namespace IRaCIS.Core.API.Controllers
string.IsNullOrEmpty(mediaTypeHeader.Boundary.Value)) string.IsNullOrEmpty(mediaTypeHeader.Boundary.Value))
{ {
//---不支持的MediaType //---不支持的MediaType
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_UnsupportedMedia")); return ResponseOutput.NotOk(_localizer["UploadDownLoad_UnsupportedMedia"]);
} }
var archiveStudyCommand = new ArchiveStudyCommand() { AbandonStudyId = abandonStudyId, StudyInstanceUid = studyInstanceUid, SubjectVisitId = subjectVisitId }; var archiveStudyCommand = new ArchiveStudyCommand() { AbandonStudyId = abandonStudyId, StudyInstanceUid = studyInstanceUid, SubjectVisitId = subjectVisitId };
@ -407,7 +412,7 @@ namespace IRaCIS.Core.API.Controllers
_provider.Remove($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}"); _provider.Remove($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}");
//---请求异常,请重试! //---请求异常,请重试!
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_RequestError")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_RequestError"]);
} }
studyMonitor.FileSize = (decimal)HttpContext.Request.ContentLength; studyMonitor.FileSize = (decimal)HttpContext.Request.ContentLength;
@ -559,7 +564,7 @@ namespace IRaCIS.Core.API.Controllers
if (!fileName.EndsWith(".xlsx") && !fileName.EndsWith(".csv") && !fileName.EndsWith(".xls")) if (!fileName.EndsWith(".xlsx") && !fileName.EndsWith(".csv") && !fileName.EndsWith(".xls"))
{ {
//---支持.xlsx、.xls、.csv格式的文件上传。 //---支持.xlsx、.xls、.csv格式的文件上传。
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_SupportedFormats")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_SupportedFormats"]);
} }
fileStream.CopyTo(templateFileStream); fileStream.CopyTo(templateFileStream);
@ -609,7 +614,7 @@ namespace IRaCIS.Core.API.Controllers
//if (import.RowErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.RowErrors)); //if (import.RowErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.RowErrors));
if (import.TemplateErrors.Count > 0) return ResponseOutput.NotOk(JsonConvert.SerializeObject(import.TemplateErrors)); if (import.TemplateErrors.Count > 0) return ResponseOutput.NotOk(_localizer["UploadDownLoad_TemplateErrors"]);
etcCheckList = import.Data.ToList(); etcCheckList = import.Data.ToList();
} }
@ -697,7 +702,7 @@ namespace IRaCIS.Core.API.Controllers
if (etcCheckList == null || etcCheckList.Count == 0) if (etcCheckList == null || etcCheckList.Count == 0)
{ {
//---请保证上传数据符合模板文件中的样式,且存在有效数据。 //---请保证上传数据符合模板文件中的样式,且存在有效数据。
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_InvalidData")); return ResponseOutput.NotOk(_localizer["UploadDownLoad_InvalidData"]);
} }
else else
{ {
@ -718,7 +723,7 @@ namespace IRaCIS.Core.API.Controllers
if (etcCheckList.Count == 0) if (etcCheckList.Count == 0)
{ {
//---请保证上传数据符合模板文件中的样式,且存在有效数据。 //---请保证上传数据符合模板文件中的样式,且存在有效数据。
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_InvalidData")); return ResponseOutput.NotOk(_localizer["UploadDownLoad_InvalidData"]);
} }
} }
@ -962,13 +967,14 @@ namespace IRaCIS.Core.API.Controllers
public IMapper _mapper { get; set; } public IMapper _mapper { get; set; }
public IUserInfo _userInfo { get; set; } public IUserInfo _userInfo { get; set; }
private readonly IMediator _mediator; private readonly IMediator _mediator;
public IStringLocalizer _localizer { get; set; }
private readonly IWebHostEnvironment _hostEnvironment;
private readonly IWebHostEnvironment _hostEnvironment; public UploadDownLoadController(IMapper mapper, IUserInfo userInfo, IStringLocalizer localizer, IMediator mediator, IWebHostEnvironment hostEnvironment)
public UploadDownLoadController(IMapper mapper, IUserInfo userInfo, IMediator mediator, IWebHostEnvironment hostEnvironment)
{ {
_hostEnvironment = hostEnvironment; _hostEnvironment = hostEnvironment;
_mediator = mediator; _localizer= localizer,
_mediator = mediator;
_mapper = mapper; _mapper = mapper;
_userInfo = userInfo; _userInfo = userInfo;
} }
@ -994,7 +1000,7 @@ namespace IRaCIS.Core.API.Controllers
if (!realFileName.EndsWith(".xlsx", StringComparison.OrdinalIgnoreCase)) if (!realFileName.EndsWith(".xlsx", StringComparison.OrdinalIgnoreCase))
{ {
// 请用提供格式的模板excel上传需要处理的数据 // 请用提供格式的模板excel上传需要处理的数据
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_TemplateUploadData")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_TemplateUploadData"]);
} }
var ossRelativePath = await oSSService.UploadToOSSAsync(fileStream, "InspectionUpload/SiteSurvey", realFileName); var ossRelativePath = await oSSService.UploadToOSSAsync(fileStream, "InspectionUpload/SiteSurvey", realFileName);
@ -1015,7 +1021,7 @@ namespace IRaCIS.Core.API.Controllers
if (excelList.Any(t => string.IsNullOrWhiteSpace(t.TrialSiteCode) || string.IsNullOrWhiteSpace(t.FirstName) || string.IsNullOrWhiteSpace(t.LastName) || string.IsNullOrWhiteSpace(t.Email) || string.IsNullOrWhiteSpace(t.UserTypeStr))) if (excelList.Any(t => string.IsNullOrWhiteSpace(t.TrialSiteCode) || string.IsNullOrWhiteSpace(t.FirstName) || string.IsNullOrWhiteSpace(t.LastName) || string.IsNullOrWhiteSpace(t.Email) || string.IsNullOrWhiteSpace(t.UserTypeStr)))
{ {
//请确保Excel中 每一行的 中心编号,姓名,邮箱,用户类型数据记录完整再进行上传 //请确保Excel中 每一行的 中心编号,姓名,邮箱,用户类型数据记录完整再进行上传
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_EnsureCompleteData")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_EnsureCompleteData"]);
} }
var siteCodeList = excelList.Select(t => t.TrialSiteCode.Trim().ToUpper()).Distinct().ToList(); var siteCodeList = excelList.Select(t => t.TrialSiteCode.Trim().ToUpper()).Distinct().ToList();
@ -1023,31 +1029,31 @@ namespace IRaCIS.Core.API.Controllers
if (_trialSiteRepository.Where(t => t.TrialId == trialId && siteCodeList.Contains(t.TrialSiteCode.ToUpper())).Count() != siteCodeList.Count) if (_trialSiteRepository.Where(t => t.TrialId == trialId && siteCodeList.Contains(t.TrialSiteCode.ToUpper())).Count() != siteCodeList.Count)
{ {
//在项目中未找到该Excel中部分或全部中心 //在项目中未找到该Excel中部分或全部中心
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_InvalidCenters")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_InvalidCenters"]);
} }
if (excelList.GroupBy(t => new { t.TrialSiteCode, t.UserTypeStr, t.Email }).Any(g => g.Count() > 1)) if (excelList.GroupBy(t => new { t.TrialSiteCode, t.UserTypeStr, t.Email }).Any(g => g.Count() > 1))
{ {
// 同一邮箱,同一用户类型,只能生成一个账户,请核查Excel数据 // 同一邮箱,同一用户类型,只能生成一个账户,请核查Excel数据
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_CheckDuplicateAccounts")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_CheckDuplicateAccounts"]);
} }
if (excelList.Any(t => !t.Email.Contains("@"))) if (excelList.Any(t => !t.Email.Contains("@")))
{ {
//有邮箱不符合邮箱格式,请核查Excel数据 //有邮箱不符合邮箱格式,请核查Excel数据
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_InvalidEmail")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_InvalidEmail"]);
} }
var generateUserTypeList = new List<string>() { "CRC", "CRA" }; var generateUserTypeList = new List<string>() { "CRC", "CRA" };
if (excelList.Any(t => !generateUserTypeList.Contains(t.UserTypeStr.ToUpper()))) if (excelList.Any(t => !generateUserTypeList.Contains(t.UserTypeStr.ToUpper())))
{ {
//用户类型仅能为 CRC,SR,CRA 请核查Excel数据 //用户类型仅能为 CRC,SR,CRA 请核查Excel数据
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_InvalidUserType")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_InvalidUserType"]);
} }
if (excelList.Count == 0) if (excelList.Count == 0)
{ {
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_NoValiddata")); throw new BusinessValidationFailedException(_localizer["UploadDownLoad_NoValiddata"]);
} }
//处理好 用户类型 和用户类型枚举 //处理好 用户类型 和用户类型枚举
var sysUserTypeList = _usertypeRepository.Where(t => t.UserTypeEnum == UserTypeEnum.CRA || t.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Select(t => new { UserTypeId = t.Id, t.UserTypeEnum }).ToList(); var sysUserTypeList = _usertypeRepository.Where(t => t.UserTypeEnum == UserTypeEnum.CRA || t.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Select(t => new { UserTypeId = t.Id, t.UserTypeEnum }).ToList();