增加收藏功能
parent
ebaa2af196
commit
ebf0c6b086
|
|
@ -18234,7 +18234,7 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Application.Services.PatientService.ModifySCPStudyHospitalGroup(IRaCIS.Application.Contracts.SCPStudyHospitalGroupCommand)">
|
<member name="M:IRaCIS.Application.Services.PatientService.ModifySCPStudyHospitalGroup(IRaCIS.Application.Contracts.SCPStudyHospitalGroupCommand)">
|
||||||
<summary>
|
<summary>
|
||||||
修改检查课题组 1是添加 2是删除
|
修改检查课题组 1是添加 2是删除,3是更新
|
||||||
</summary>
|
</summary>
|
||||||
<param name="incommand"></param>
|
<param name="incommand"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,8 @@ namespace IRaCIS.Application.Contracts
|
||||||
|
|
||||||
public string? ModalitiesInStudy { get; set; }
|
public string? ModalitiesInStudy { get; set; }
|
||||||
|
|
||||||
|
public Guid? SCPStudyId { get; set; }
|
||||||
|
|
||||||
public List<HospitalGroupInfo> HospitalGroupList { get; set; }
|
public List<HospitalGroupInfo> HospitalGroupList { get; set; }
|
||||||
|
|
||||||
public List<HospitalGroupInfo> CurrentUserHospitalGroupList { get; set; } = new List<HospitalGroupInfo>();
|
public List<HospitalGroupInfo> CurrentUserHospitalGroupList { get; set; } = new List<HospitalGroupInfo>();
|
||||||
|
|
|
||||||
|
|
@ -918,9 +918,25 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpDelete]
|
[HttpDelete]
|
||||||
public async Task<IResponseOutput> DeletePatientStudy(Guid patiendId, Guid scpStudyId,
|
public async Task<IResponseOutput> DeletePatientStudy(Guid patiendId, Guid scpStudyId,
|
||||||
[FromServices] IRepository<SCPSeries> _SeriesRepository,
|
[FromServices] IRepository<SCPSeries> _SeriesRepository,
|
||||||
[FromServices] IRepository<SCPInstance> _instanceRepository)
|
[FromServices] IRepository<SCPInstance> _instanceRepository,
|
||||||
|
[FromServices] IRepository<SCPStudyHospitalGroup> _scpStudyHospitalGroupRepository)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
var existList = _scpStudyHospitalGroupRepository.Where(t => t.SCPStudyId == scpStudyId).Select(t => t.HospitalGroupId).ToList();
|
||||||
|
|
||||||
|
var isAdminOrOAOrGA = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.Admin || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.OA
|
||||||
|
|| _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.GA;
|
||||||
|
|
||||||
|
// abc 课题组,人属于AB 课题组,删除仅仅删除这个标签 直接返回
|
||||||
|
if (!isAdminOrOAOrGA && existList.Count > _userInfo.HospitalGroupList.Count)
|
||||||
|
{
|
||||||
|
|
||||||
|
await _scpStudyHospitalGroupRepository.BatchDeleteNoTrackingAsync(t => t.SCPStudyId == scpStudyId && _userInfo.HospitalGroupIdList.Contains(t.HospitalGroupId));
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (_studySubjectVisitRepository.Any(t => t.SCPStudyId == scpStudyId && t.StudyId != null))
|
if (_studySubjectVisitRepository.Any(t => t.SCPStudyId == scpStudyId && t.StudyId != null))
|
||||||
{
|
{
|
||||||
|
|
@ -928,11 +944,15 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
await _subjectPatientRepository.DeleteFromQueryAsync(t => t.PatientId == patiendId);
|
await _subjectPatientRepository.DeleteFromQueryAsync(t => t.PatientId == patiendId);
|
||||||
await _studySubjectVisitRepository.DeleteFromQueryAsync(t => t.SCPStudyId == scpStudyId);
|
await _studySubjectVisitRepository.DeleteFromQueryAsync(t => t.SCPStudyId == scpStudyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
await _scpStudyHospitalGroupRepository.BatchDeleteNoTrackingAsync(t => t.SCPStudyId == scpStudyId);
|
||||||
|
|
||||||
await _studyRepository.BatchDeleteNoTrackingAsync(t => t.Id == scpStudyId);
|
await _studyRepository.BatchDeleteNoTrackingAsync(t => t.Id == scpStudyId);
|
||||||
await _SeriesRepository.BatchDeleteNoTrackingAsync(t => t.StudyId == scpStudyId);
|
await _SeriesRepository.BatchDeleteNoTrackingAsync(t => t.StudyId == scpStudyId);
|
||||||
await _instanceRepository.BatchDeleteNoTrackingAsync(t => t.StudyId == scpStudyId);
|
await _instanceRepository.BatchDeleteNoTrackingAsync(t => t.StudyId == scpStudyId);
|
||||||
|
|
@ -3381,7 +3401,7 @@ namespace IRaCIS.Application.Services
|
||||||
var resultInstanceUidList = result.Select(t => t.StudyInstanceUID).ToList();
|
var resultInstanceUidList = result.Select(t => t.StudyInstanceUID).ToList();
|
||||||
|
|
||||||
var existStudyIdList = _studyRepository.Where(t => resultInstanceUidList.Contains(t.StudyInstanceUid))
|
var existStudyIdList = _studyRepository.Where(t => resultInstanceUidList.Contains(t.StudyInstanceUid))
|
||||||
.Select(t => new { t.StudyInstanceUid, HospitalGroupList = t.HospitalGroupList.Select(t => new HospitalGroupInfo { Id = t.HospitalGroupId, Name = t.HospitalGroup.Name, Code = t.HospitalGroup.Code }).ToList() }).ToList();
|
.Select(t => new { SCPStudyId = t.Id, t.StudyInstanceUid, HospitalGroupList = t.HospitalGroupList.Select(t => new HospitalGroupInfo { Id = t.HospitalGroupId, Name = t.HospitalGroup.Name, Code = t.HospitalGroup.Code }).ToList() }).ToList();
|
||||||
|
|
||||||
var allHospitalGroupList = _hospitalGroupRepository.Where(t => t.IsEnable).Select(t => new HospitalGroupInfo() { Name = t.Name, Id = t.Id, Code = t.Code }).ToList();
|
var allHospitalGroupList = _hospitalGroupRepository.Where(t => t.IsEnable).Select(t => new HospitalGroupInfo() { Name = t.Name, Id = t.Id, Code = t.Code }).ToList();
|
||||||
|
|
||||||
|
|
@ -3390,6 +3410,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
foreach (var item in result)
|
foreach (var item in result)
|
||||||
{
|
{
|
||||||
|
item.SCPStudyId = existStudyIdList.FirstOrDefault(t => t.StudyInstanceUid == item.StudyInstanceUID).SCPStudyId;
|
||||||
item.IsStudyExist = existStudyIdList.Any(t => t.StudyInstanceUid == item.StudyInstanceUID);
|
item.IsStudyExist = existStudyIdList.Any(t => t.StudyInstanceUid == item.StudyInstanceUID);
|
||||||
item.HospitalGroupList = existStudyIdList.FirstOrDefault(t => t.StudyInstanceUid == item.StudyInstanceUID)?.HospitalGroupList;
|
item.HospitalGroupList = existStudyIdList.FirstOrDefault(t => t.StudyInstanceUid == item.StudyInstanceUID)?.HospitalGroupList;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue