From 70c744498b08633c3dda7b0225c5141ce72643e8 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 28 Aug 2025 16:25:23 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BE=85=E9=98=85?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BF=94=E5=9B=9E=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/DTO/VisitTaskViewModel.cs | 2 ++ .../Service/Allocation/VisitTaskService.cs | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index 86e60eb1d..dac5ed4c5 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -497,6 +497,8 @@ namespace IRaCIS.Core.Application.ViewModel public bool IsClinicalDataSign { get; set; } public bool IsFrontTaskNeedSignButNotSign { get; set; } + + public EvaluateProgress EvaluateProgressEnum { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index aba5e6436..b996c556d 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1325,7 +1325,8 @@ public class VisitTaskService(IRepository _visitTaskRepository, TrialReadingCriterionId = u.TrialReadingCriterionId, IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, IsClinicalDataSign = u.IsClinicalDataSign, - IsFrontTaskNeedSignButNotSign = u.IsFrontTaskNeedSignButNotSign + IsFrontTaskNeedSignButNotSign = u.IsFrontTaskNeedSignButNotSign, + EvaluateProgressEnum = u.EvaluateProgressEnum }) .ToList(), @@ -1355,7 +1356,8 @@ public class VisitTaskService(IRepository _visitTaskRepository, TrialReadingCriterionId = u.TrialReadingCriterionId, IsNeedClinicalDataSign = u.IsNeedClinicalDataSign, IsClinicalDataSign = u.IsClinicalDataSign, - IsFrontTaskNeedSignButNotSign = u.IsFrontTaskNeedSignButNotSign + IsFrontTaskNeedSignButNotSign = u.IsFrontTaskNeedSignButNotSign, + EvaluateProgressEnum = u.EvaluateProgressEnum }) .ToList(), }).Where(x => x.UnReadCanReadTaskCount > 0)/*.OrderBy(x => x.UnReadCanReadTaskCount)*/; From b7c85d6b56f5780b1c8633c48e1160f51d317b2e Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 28 Aug 2025 16:38:42 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=9A=84=E8=AF=BE?= =?UTF-8?q?=E9=A2=98=E7=BB=84=E5=BF=85=E9=A1=BB=E5=90=AF=E7=94=A8=E6=89=8D?= =?UTF-8?q?=E8=83=BD=E7=9C=8B=E5=88=B0=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Service/Visit/PatientService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 4be3ce55c..5be3b958e 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -218,7 +218,7 @@ namespace IRaCIS.Application.Services //GA 要过滤课题组 .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.GA, t => _userInfo.HospitalGroupIdList.Contains(t.HospitalGroupId)) .WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.Admin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.OA && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.GA - , t => t.TrialUserRoleList.Any(t => t.UserId == _userInfo.UserRoleId) && t.TrialIdentityUserList.Any(t => t.IdentityUserId == _userInfo.IdentityUserId)) + , t => t.TrialUserRoleList.Any(t => t.UserId == _userInfo.UserRoleId) && t.TrialIdentityUserList.Any(t => t.IdentityUserId == _userInfo.IdentityUserId) && _userInfo.HospitalGroupIdList.Contains(t.HospitalGroupId)) .ProjectTo(_mapper.ConfigurationProvider); From fdbdda71ebd2784521ef2aed1ea1514a004430b9 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 28 Aug 2025 17:04:45 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=AF=BE=E9=A2=98=E7=BB=84GA=20=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E8=A2=AB=E7=A6=81=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/DTO/HospitalGroupViewModel.cs | 11 ++++++++++- .../Service/Visit/HospitalGroupService.cs | 4 ++-- IRaCIS.Core.Application/Service/Visit/_MapConfig.cs | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs index e6bc1db10..af09378b5 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs @@ -39,7 +39,16 @@ public class HospitalGroupAddOrEdit public string CallingAE { get; set; } - public List IdentityUserIdList { get; set; } + public List IdentityUserList { get; set; } +} + +public class GAIdentityUserInfo +{ + public Guid IdentityUserId { get; set; } + + public bool IsDisabled { get; set; } + + } public class HospitalGroupQuery : PageInput diff --git a/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs b/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs index 488a8afa5..1e76df7fd 100644 --- a/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs +++ b/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs @@ -96,7 +96,7 @@ public class HospitalGroupService(IRepository _hospitalGroupRepos var addEntity = _mapper.Map(addOrEditHospitalGroup); - addEntity.IdentityUserList = addOrEditHospitalGroup.IdentityUserIdList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t, IsManager = true }).ToList(); + addEntity.IdentityUserList = addOrEditHospitalGroup.IdentityUserList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t.IdentityUserId, IsManager = true, IsDisabled = t.IsDisabled }).ToList(); var newEntity = await _hospitalGroupRepository.AddAsync(addEntity, true, verifyExp1); @@ -110,7 +110,7 @@ public class HospitalGroupService(IRepository _hospitalGroupRepos //_mapper.Map(addOrEditHospitalGroup, find); - var adminUserList = addOrEditHospitalGroup.IdentityUserIdList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t, HospitalGroupId = (Guid)addOrEditHospitalGroup.Id, IsManager = true }).ToList(); + var adminUserList = addOrEditHospitalGroup.IdentityUserList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t.IdentityUserId, HospitalGroupId = (Guid)addOrEditHospitalGroup.Id, IsManager = true, IsDisabled = t.IsDisabled }).ToList(); await _hospitalGroupIdentityUserRepository.AddRangeAsync(adminUserList); var entity = await _hospitalGroupRepository.UpdateFromDTOAsync(addOrEditHospitalGroup, true, false, verifyExp1); diff --git a/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs b/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs index d57a908f1..e2a94333b 100644 --- a/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs @@ -207,7 +207,7 @@ namespace IRaCIS.Core.Application.Service CreateMap() .ForMember(d => d.GAUserList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => t.IdentityUser))) - .ForMember(d => d.IdentityUserIdList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => t.IdentityUser.Id))); + .ForMember(d => d.IdentityUserList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => new GAIdentityUserInfo() { IdentityUserId = t.IdentityUser.Id, IsDisabled = t.IsDisabled }))); CreateMap().ReverseMap(); From 59339969da1f320f5f1a43e8d4db6375f4525e21 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 28 Aug 2025 17:29:42 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=BE=E9=A2=98?= =?UTF-8?q?=E7=BB=84=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Visit/DTO/HospitalGroupViewModel.cs | 9 +-------- .../Service/Visit/HospitalGroupService.cs | 19 +++++++++---------- .../Service/Visit/_MapConfig.cs | 4 ++-- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs index af09378b5..9ff651f2e 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs @@ -39,17 +39,10 @@ public class HospitalGroupAddOrEdit public string CallingAE { get; set; } - public List IdentityUserList { get; set; } + public List IdentityUserIdList { get; set; } } -public class GAIdentityUserInfo -{ - public Guid IdentityUserId { get; set; } - public bool IsDisabled { get; set; } - - -} public class HospitalGroupQuery : PageInput { diff --git a/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs b/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs index 1e76df7fd..01b78cec2 100644 --- a/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs +++ b/IRaCIS.Core.Application/Service/Visit/HospitalGroupService.cs @@ -24,9 +24,10 @@ public class HospitalGroupService(IRepository _hospitalGroupRepos /// /// - public async Task> GetGAUserList() + public async Task> GetGAUserList(Guid hospitalGroupId) { - var list = await _identityUserRepository.Where(t => t.UserRoleList.Any(t => t.UserTypeEnum == UserTypeEnum.GA && t.IsUserRoleDisabled == false)).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var list = await _identityUserRepository.Where(t => t.UserRoleList.Any(t => t.UserTypeEnum == UserTypeEnum.GA && t.IsUserRoleDisabled == false) && t.IdentityUserHospitalGroupList.Any(t => t.HospitalGroupId == hospitalGroupId)) + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); return list; } @@ -96,26 +97,24 @@ public class HospitalGroupService(IRepository _hospitalGroupRepos var addEntity = _mapper.Map(addOrEditHospitalGroup); - addEntity.IdentityUserList = addOrEditHospitalGroup.IdentityUserList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t.IdentityUserId, IsManager = true, IsDisabled = t.IsDisabled }).ToList(); - var newEntity = await _hospitalGroupRepository.AddAsync(addEntity, true, verifyExp1); return ResponseOutput.Ok(newEntity.Id.ToString()); } else { - await _hospitalGroupIdentityUserRepository.BatchDeleteNoTrackingAsync(t => t.HospitalGroupId == addOrEditHospitalGroup.Id && t.IsManager); - //var find = await _hospitalGroupRepository.FirstOrDefaultAsync(t => t.Id == addOrEditHospitalGroup.Id); + var gaAdminList = _hospitalGroupRepository.Where(t => t.Id == addOrEditHospitalGroup.Id).SelectMany(t => t.IdentityUserList.Where(t => t.IsManager)).Select(t => t.IdentityUserId).ToList(); - //_mapper.Map(addOrEditHospitalGroup, find); - var adminUserList = addOrEditHospitalGroup.IdentityUserList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t.IdentityUserId, HospitalGroupId = (Guid)addOrEditHospitalGroup.Id, IsManager = true, IsDisabled = t.IsDisabled }).ToList(); - - await _hospitalGroupIdentityUserRepository.AddRangeAsync(adminUserList); var entity = await _hospitalGroupRepository.UpdateFromDTOAsync(addOrEditHospitalGroup, true, false, verifyExp1); + await _hospitalGroupIdentityUserRepository.BatchUpdateNoTrackingAsync(t => gaAdminList.Contains(t.IdentityUserId) && t.HospitalGroupId == addOrEditHospitalGroup.Id, u => new HospitalGroupIdentityUser() { IsManager = false }); + + await _hospitalGroupIdentityUserRepository.BatchUpdateNoTrackingAsync(t => addOrEditHospitalGroup.IdentityUserIdList.Contains(t.IdentityUserId) && t.HospitalGroupId == addOrEditHospitalGroup.Id, u => new HospitalGroupIdentityUser() { IsManager = true }); + + await _hospitalGroupIdentityUserRepository.SaveChangesAsync(); } return ResponseOutput.Ok(); diff --git a/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs b/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs index e2a94333b..57e7c7986 100644 --- a/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Visit/_MapConfig.cs @@ -206,8 +206,8 @@ namespace IRaCIS.Core.Application.Service CreateMap() - .ForMember(d => d.GAUserList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => t.IdentityUser))) - .ForMember(d => d.IdentityUserList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => new GAIdentityUserInfo() { IdentityUserId = t.IdentityUser.Id, IsDisabled = t.IsDisabled }))); + .ForMember(d => d.GAUserList, u => u.MapFrom(s => s.IdentityUserList.Where(t=>t.IsManager).Select(t => t.IdentityUser))) + .ForMember(d => d.IdentityUserIdList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => t.IdentityUserId))); CreateMap().ReverseMap(); From 4945daa0d45225c091a787ccc8dae4cacecea2f6 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 28 Aug 2025 17:32:42 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/DTO/HospitalGroupViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs index 9ff651f2e..1ef4fb034 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/HospitalGroupViewModel.cs @@ -39,7 +39,7 @@ public class HospitalGroupAddOrEdit public string CallingAE { get; set; } - public List IdentityUserIdList { get; set; } + public List IdentityUserIdList { get; set; } = new List(); }