Merge branch 'Test_HIR_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_HIR_Net8
continuous-integration/drone/push Build is running Details

Test_HIR_Net8
he 2025-08-29 10:49:19 +08:00
commit 55f864c16c
6 changed files with 21 additions and 16 deletions

View File

@ -497,6 +497,8 @@ namespace IRaCIS.Core.Application.ViewModel
public bool IsClinicalDataSign { get; set; }
public bool IsFrontTaskNeedSignButNotSign { get; set; }
public EvaluateProgress EvaluateProgressEnum { get; set; }
}

View File

@ -1325,7 +1325,8 @@ public class VisitTaskService(IRepository<VisitTask> _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<VisitTask> _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)*/;

View File

@ -39,9 +39,11 @@ public class HospitalGroupAddOrEdit
public string CallingAE { get; set; }
public List<Guid> IdentityUserIdList { get; set; }
public List<Guid> IdentityUserIdList { get; set; } = new List<Guid>();
}
public class HospitalGroupQuery : PageInput
{
public string? Affiliation { get; set; }

View File

@ -24,9 +24,10 @@ public class HospitalGroupService(IRepository<HospitalGroup> _hospitalGroupRepos
/// </summary>
/// <returns></returns>
public async Task<List<HospitalGroupAdminUserInfo>> GetGAUserList()
public async Task<List<HospitalGroupAdminUserInfo>> GetGAUserList(Guid hospitalGroupId)
{
var list = await _identityUserRepository.Where(t => t.UserRoleList.Any(t => t.UserTypeEnum == UserTypeEnum.GA && t.IsUserRoleDisabled == false)).ProjectTo<HospitalGroupAdminUserInfo>(_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<HospitalGroupAdminUserInfo>(_mapper.ConfigurationProvider).ToListAsync();
return list;
}
@ -96,26 +97,24 @@ public class HospitalGroupService(IRepository<HospitalGroup> _hospitalGroupRepos
var addEntity = _mapper.Map<HospitalGroup>(addOrEditHospitalGroup);
addEntity.IdentityUserList = addOrEditHospitalGroup.IdentityUserIdList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t, IsManager = true }).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.IdentityUserIdList.Select(t => new HospitalGroupIdentityUser() { IdentityUserId = t, HospitalGroupId = (Guid)addOrEditHospitalGroup.Id, IsManager = true }).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();

View File

@ -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<NewTrialView>(_mapper.ConfigurationProvider);

View File

@ -207,7 +207,7 @@ namespace IRaCIS.Core.Application.Service
CreateMap<HospitalGroup, HospitalGroupView>()
.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.IdentityUserIdList, u => u.MapFrom(s => s.IdentityUserList.Where(t => t.IsManager).Select(t => t.IdentityUserId)));
CreateMap<HospitalGroup, HospitalGroupAddOrEdit>().ReverseMap();