diff --git a/IRaCIS.Core.Application/Helper/InternationalizationHelper.cs b/IRaCIS.Core.Application/Helper/InternationalizationHelper.cs new file mode 100644 index 000000000..e1feefcea --- /dev/null +++ b/IRaCIS.Core.Application/Helper/InternationalizationHelper.cs @@ -0,0 +1,44 @@ +using IRaCIS.Core.Domain.Share; +using IRaCIS.Core.Infrastructure; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static BeetleX.Redis.Commands.HSCAN; +using static IRaCIS.Core.Application.Service.Common.SystemMonitor; + +namespace IRaCIS.Core.Application.Helper +{ + public static class InternationalizationHelper + { + + public static async void AddOrUpdateJsonKeyValueAsync(string key, string value) + { + + var jsonFileFolder = Path.Combine(AppContext.BaseDirectory, StaticData.Folder.Resources); + + if (!Directory.Exists(jsonFileFolder) || + Directory.GetFiles(jsonFileFolder).Any(filePath => Path.GetExtension(filePath).Equals(".json", StringComparison.OrdinalIgnoreCase))) + { + throw new BusinessValidationFailedException("国际化Json文件目录有误"); + } + + // + foreach (var filePath in Directory.GetFiles(jsonFileFolder).Where(filePath => Path.GetExtension(filePath).Equals(".json", StringComparison.OrdinalIgnoreCase))) + { + var json = await File.ReadAllTextAsync(filePath); + + JObject jsonObject = JObject.Parse(json, new JsonLoadSettings() { CommentHandling = CommentHandling.Load }); + + // 添加或更新指定的键值对 + jsonObject[key] = value; + + await File.WriteAllTextAsync(filePath, jsonObject.ToString()); + + } + + } + } +} diff --git a/IRaCIS.Core.Application/Service/Doctor/TrialExperienceService.cs b/IRaCIS.Core.Application/Service/Doctor/TrialExperienceService.cs index 16a7a2ee1..6f629e9db 100644 --- a/IRaCIS.Core.Application/Service/Doctor/TrialExperienceService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/TrialExperienceService.cs @@ -155,8 +155,6 @@ namespace IRaCIS.Application.Services await _repository.BatchDeleteAsync(a => a.Id == updateGCPExperienceParam.GCPId); } - - return ResponseOutput.Result(successs, updateGCPExperienceParam.GCPId.ToString()); } diff --git a/IRaCIS.Core.Application/Service/Institution/HospitalService.cs b/IRaCIS.Core.Application/Service/Institution/HospitalService.cs index 7df472ba9..28ba06b8b 100644 --- a/IRaCIS.Core.Application/Service/Institution/HospitalService.cs +++ b/IRaCIS.Core.Application/Service/Institution/HospitalService.cs @@ -35,12 +35,14 @@ namespace IRaCIS.Application.Services VerifyMsg = _localizer["Hospital_DupName"] }; - if (await _hospitalRepository.AnyAsync(x => x.SiteId == hospitalCommand.SiteId && hospitalCommand.SiteId != null)) + var exp1 = new EntityVerifyExp() { - //---当前Site已经添加到其他Hospital了 - throw new BusinessValidationFailedException(_localizer["Hospital_SiteAdded"]); - } + VerifyExp = x => x.SiteId == hospitalCommand.SiteId && hospitalCommand.SiteId != null, + //---已经存在同名的医院,请确认。 + VerifyMsg = _localizer["Hospital_SiteAdded"] + }; + var hospital = await _hospitalRepository.InsertOrUpdateAsync(hospitalCommand, true, exp); return ResponseOutput.Ok(hospital.Id.ToString()); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index e4ae123d9..547f7dc5f 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -204,7 +204,7 @@ namespace IRaCIS.Core.Application - var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc); + var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(CheckToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc); var totalToBeCheckedCount = await _subjectVisitRepository.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id)) .Where(u => u.CheckState == CheckStateEnum.ToCheck).CountAsync(); @@ -246,7 +246,7 @@ namespace IRaCIS.Core.Application }); - var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc); + var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(ReReadingApplyToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc); var toBeApprovalCount = _visitTaskReReadingRepository @@ -283,7 +283,7 @@ namespace IRaCIS.Core.Application ToBeApprovalCount = t.EnrollList.Where(u => u.EnrollStatus == EnrollStatus.InviteIntoGroup).Count() }); - var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc); + var result = await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrEmpty(inQuery.SortField) ? nameof(ReviewerSelectToBeDoneDto.TrialId) : inQuery.SortField, inQuery.Asc); var toBeApprovalCount = await _enrollRepository.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id)) .Where(u => u.EnrollStatus == EnrollStatus.HasCommittedToCRO).CountAsync(); diff --git a/IRaCIS.Core.Domain/SQLFile/20230613.sql b/IRaCIS.Core.Domain/SQLFile/20230613.sql index 24e792201..c071ae52a 100644 --- a/IRaCIS.Core.Domain/SQLFile/20230613.sql +++ b/IRaCIS.Core.Domain/SQLFile/20230613.sql @@ -90,4 +90,15 @@ WHERE ---------------------------维护临床数据是否应用 之前默认都是应用 现在添加字段 把状态都改为应用 - update ClinicalDataTrialSet set IsApply=1 \ No newline at end of file + update ClinicalDataTrialSet set IsApply=1 + + +--维护 删除临床数据配置,导致删除阅片期问题 + delete ReadingClinicalData +--88020000-3E02-0016-9DA6-08DB6705F7C1 +--select * +from ReadingClinicalData +INNER JOIN ReadModule on ReadingClinicalData.ReadingId = ReadModule.Id + + +where not EXISTS (select Id from TrialClinicalDataSetCriterion where ReadModule.TrialReadingCriterionId =TrialClinicalDataSetCriterion.TrialReadingCriterionId) \ No newline at end of file