From 54d17f2e24e2e521cefef36a5e8956ae712fc7f0 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Wed, 25 Dec 2024 13:07:57 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=AD=E5=BF=83=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 12 +--
.../TrialSiteUser/DTO/TrialSiteViewModel.cs | 5 +-
.../TrialSiteUser/DTO/UserTrialViewModel.cs | 26 +++++-
.../Service/TrialSiteUser/TrialSiteService.cs | 79 +++++++++----------
.../Service/TrialSiteUser/_MapConfig.cs | 8 +-
.../Service/TrialSiteUser/_MapConfig2.cs | 6 +-
6 files changed, 80 insertions(+), 56 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index db2ee53fe..d9f65053f 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -16205,6 +16205,12 @@
获取某一Site下面的负责的CRC列表
+
+ 批量添加Site下 CRC的负责人
+
+
+ 删除CRC人员
+
Pannel 进去 SiteTab
@@ -16224,12 +16230,6 @@
-
- 批量添加Site下 CRC的负责人
-
-
- 删除CRC人员
-
获取项目下的 site 下拉框数据 CRC只看到他负责的
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs
index 8c44c703c..e09765994 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs
@@ -73,8 +73,6 @@ namespace IRaCIS.Core.Application.Contracts.DTO
[NotDefault]
public Guid TrialSiteId { get; set; }
public Guid UserId { get; set; }
- public DateTime? CreateTime { get; set; } = DateTime.Now;
- public string UserRealName { get; set; } = String.Empty;
}
@@ -94,6 +92,9 @@ namespace IRaCIS.Core.Application.Contracts.DTO
public string Phone { get; set; } = String.Empty;
public string EMail { get; set; } = string.Empty;
+ public DateTime? CreateTime { get; set; } = DateTime.Now;
+ public string UserRealName { get; set; } = String.Empty;
+
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs
index 64276c9fc..09afa1397 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs
@@ -13,7 +13,31 @@ namespace IRaCIS.Application.Contracts
public class TrialSiteCRCListDTO
{
+ public Guid Id { get; set; }
+ public Guid TrialId { get; set; }
+
+ public Guid UserId { get; set; }
+
+ public Guid IdentityUserId { get; set; }
+
+ public string UserType { get; set; }
+
+ public string Phone { get; set; } = String.Empty;
+
+ public string EMail { get; set; } = string.Empty;
+
+ public string OrganizationName { get; set; } = String.Empty;
+
+ public string UserName { get; set; } = String.Empty;
+
+ public string FullName { get; set; } = String.Empty;
+
+ public bool IsDeleted { get; set; }
+
+ public DateTime? DeletedTime { get; set; }
+ public DateTime UpdateTime { get; set; }
+ public DateTime CreateTime { get; set; }
}
public class UserTrialDTO : UserTrialCommand
@@ -364,7 +388,7 @@ namespace IRaCIS.Application.Contracts
public Guid TrialSiteId { get; set; }
- public int? UserCount { get; set; }
+ //public int? UserCount { get; set; }
public string TrialSiteCode { get; set; } = String.Empty;
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs
index d5b320fd0..6e3cdc5e9 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs
@@ -22,16 +22,51 @@ namespace IRaCIS.Core.Application.Services
/// 获取某一Site下面的负责的CRC列表
[HttpGet, Route("{trialId:guid}/{siteId:guid}")]
- public async Task> GetTrialSiteCRCList(Guid trialId, Guid siteId)
+ public async Task> GetTrialSiteCRCList(Guid trialId, Guid siteId)
{
var query = _trialSiteUserRoleRepository.Where(t => t.TrialId == trialId && t.TrialSiteId == siteId).IgnoreQueryFilters()
- .ProjectTo(_mapper.ConfigurationProvider);
+ .ProjectTo(_mapper.ConfigurationProvider);
return await query.ToListAsync();
}
+ /// 批量添加Site下 CRC的负责人
+ [HttpPost]
+ [TrialGlobalLimit("AfterStopCannNotOpt")]
+ //[Authorize(Policy = IRaCISPolicy.PM_APM)]
+ public async Task AssignSiteCRC(List trialSiteCRCList)
+ {
+ var addArray = _mapper.Map>(trialSiteCRCList);
+
+ await _trialSiteUserRoleRepository.AddRangeAsync(addArray);
+
+ await _trialSiteUserRoleRepository.SaveChangesAsync();
+
+ return ResponseOutput.Result(true);
+ }
+
+ /// 删除CRC人员
+ [HttpDelete, Route("{id:guid}/{trialId:guid}/{isDelete:bool}")]
+ [TrialGlobalLimit("AfterStopCannNotOpt")]
+ //[Authorize(Policy = IRaCISPolicy.PM_APM)]
+ public async Task DeleteSiteCRC(Guid id, bool isDelete)
+ {
+
+
+ await _trialSiteUserRoleRepository.UpdatePartialFromQueryAsync(t => t.Id == id, u => new TrialSiteUserRole() { IsDeleted = isDelete, DeletedTime = isDelete ? DateTime.Now : null }, true, true);
+
+ //删除又启用改授权时间
+ if (isDelete == false)
+ {
+ await _trialSiteUserRoleRepository.BatchUpdateNoTrackingAsync(t => t.Id == id, u => new TrialSiteUserRole() { CreateTime = DateTime.Now });
+ }
+
+ return ResponseOutput.Ok();
+ }
+
+
#endregion
@@ -208,46 +243,6 @@ namespace IRaCIS.Core.Application.Services
- /// 批量添加Site下 CRC的负责人
- [HttpPost]
- [TrialGlobalLimit("AfterStopCannNotOpt")]
- //[Authorize(Policy = IRaCISPolicy.PM_APM)]
- public async Task AssignSiteCRC(List trialSiteCRCList)
- {
- var addArray = _mapper.Map>(trialSiteCRCList);
-
- await _trialSiteUserRoleRepository.AddRangeAsync(addArray);
-
- await _trialSiteUserRoleRepository.SaveChangesAsync();
- return ResponseOutput.Result(true);
- }
-
- /// 删除CRC人员
- [HttpDelete, Route("{id:guid}/{trialId:guid}/{isDelete:bool}")]
- [TrialGlobalLimit("AfterStopCannNotOpt")]
- //[Authorize(Policy = IRaCISPolicy.PM_APM)]
- public async Task DeleteSiteCRC(Guid id, bool isDelete)
- {
-
-
- await _trialSiteUserRoleRepository.UpdatePartialFromQueryAsync(t => t.Id == id, u => new TrialSiteUserRole() { IsDeleted = isDelete, DeletedTime = isDelete ? DateTime.Now : null }, true, true);
-
- //删除又启用改授权时间
- if (isDelete == false)
- {
- await _trialSiteUserRoleRepository.BatchUpdateNoTrackingAsync(t => t.Id == id, u => new TrialSiteUserRole() { CreateTime = DateTime.Now });
- }
-
- ////不跟踪
- //await _trialSiteUserRoleRepository.ExecuteUpdateAsync(t => t.Id == id, s=>s.SetProperty(t=>t.IsDeleted,u=>isDelete)
- // .SetProperty(t=>t.DeletedTime,u=> isDelete ? DateTime.Now : null)
- // .SetProperty(t=>t.CreateTime,u=>isDelete?u.CreateTime:DateTime.Now));
-
-
-
-
- return ResponseOutput.Ok();
- }
///
/// 获取项目下的 site 下拉框数据 CRC只看到他负责的
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
index 4545dcfd2..4e95d6fab 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
@@ -126,8 +126,8 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.TrialSiteId, u => u.MapFrom(s => s.Id))
.ForMember(d => d.VisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count()))
.ForMember(d => d.SubjectCount, u => u.MapFrom(s => s.SubjectList.Count()))
- .ForMember(d => d.UserCount, u => u.MapFrom(s => s.CRCUserList.Count()))
- .ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.UserRole.FullName)));
+ //.ForMember(d => d.UserCount, u => u.MapFrom(s => s.CRCUserList.Count()))
+ .ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.UserRole.IdentityUser.FullName)));
#endregion
@@ -140,10 +140,10 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.UpdateTime, u => u.MapFrom(s => s.UpdateTime))
//.ForMember(d => d.Site, u => u.MapFrom(s => isEn_Us ?s.Site.SiteName:s.Site.SiteNameCN))
//.ForMember(d => d.Hospital, u => u.MapFrom(s => s.Site.Hospital.HospitalName))
- .ForMember(d => d.UserCount, u => u.MapFrom(s => s.CRCUserList.Count()))
+ //.ForMember(d => d.UserCount, u => u.MapFrom(s => s.CRCUserList.Count()))
.ForMember(d => d.VisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count()))
.ForMember(d => d.SubjectCount, u => u.MapFrom(s => s.SubjectList.Count()))
- .ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.UserRole.FullName)))
+ .ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.UserRole.IdentityUser.FullName)))
.ForMember(d => d.CallingAEList, u => u.MapFrom(s => s.TrialSiteDicomAEList.Select(u => u.CallingAE)));
//CreateMap();
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig2.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig2.cs
index 24be0e2fc..e509f1513 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig2.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig2.cs
@@ -58,10 +58,14 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
-
+ CreateMap()
+ .ForMember(t => t.IdentityUserId, u => u.MapFrom(c => c.UserRole.IdentityUserId))
+ .ForMember(t => t.UserType, u => u.MapFrom(c => c.UserRole.UserTypeRole.UserTypeShortName));
+
+
}
}