修改阅片

This commit is contained in:
2023-07-07 16:18:11 +08:00
parent d2251e4cb2
commit bcd1476d2d
9 changed files with 196 additions and 294 deletions
@@ -624,6 +624,10 @@ namespace IRaCIS.Application.Services
throw new BusinessValidationFailedException(_localizer["ReadingImage_BeSigned"]);
}
if(await _visitTaskRepository.AnyAsync(x=> x.Id == visitTaskid && x.DoctorUserId != _userInfo.Id && x.Subject.ClaimUserId != _userInfo.Id))
{
throw new BusinessValidationFailedException("当前任务领取人不是你,不允许提交签名");
}
if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.TaskState != TaskState.Effect))
{
@@ -2336,7 +2340,7 @@ namespace IRaCIS.Application.Services
if (task != null)
{
// 有序 自动领取该Subject
await ClaimOrCancelSubjectAsync(new ClaimSubjectDto() { IsClaim = true, SubejctId = task.SubjectId, IsInOrder = true }, _schedulerFactory);
await ClaimOrCancelSubjectAsync(new ClaimSubjectDto() { IsClaim = true, SubejctId = task.SubjectId, IsInOrder = true });
}
}
else
@@ -2362,7 +2366,7 @@ namespace IRaCIS.Application.Services
if (task != null)
{
// 有序 自动领取该Subject
await ClaimOrCancelSubjectAsync(new ClaimSubjectDto() { IsClaim = true, VisitTaskId = task.VisitTaskId, IsInOrder = false }, _schedulerFactory);
await ClaimOrCancelSubjectAsync(new ClaimSubjectDto() { IsClaim = true, VisitTaskId = task.VisitTaskId, IsInOrder = false });
}
}
@@ -2496,15 +2500,26 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task ClaimOrCancelSubjectAsync(ClaimSubjectDto claimSubjectDto, ISchedulerFactory _schedulerFactory)
public async Task ClaimOrCancelSubjectAsync(ClaimSubjectDto claimSubjectDto)
{
IScheduler scheduler = await _schedulerFactory.GetScheduler();
if (claimSubjectDto.IsInOrder)
{
if (claimSubjectDto.IsClaim)
{
await _subjectRepository.UpdatePartialFromQueryAsync(t => t.Id == claimSubjectDto.SubejctId, u => new Subject() { ClaimUserId = _userInfo.Id }, true);
if(_subjectRepository.Any(t=>t.Id== claimSubjectDto.SubejctId && t.ClaimUserId != _userInfo.Id))
{
throw new BusinessValidationFailedException("当前任务已被其他人领取,请进行其他的阅片任务");
}
else
{
await _subjectRepository.UpdatePartialFromQueryAsync(t => t.Id == claimSubjectDto.SubejctId, u => new Subject() { ClaimUserId = _userInfo.Id }, true);
}
//定时任务24h取消
@@ -2535,7 +2550,16 @@ namespace IRaCIS.Application.Services
{
if (claimSubjectDto.IsClaim)
{
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == claimSubjectDto.VisitTaskId, u => new VisitTask() { DoctorUserId = _userInfo.Id }, true);
if (_visitTaskRepository.Any(t => t.Id == claimSubjectDto.VisitTaskId && t.DoctorUserId != _userInfo.Id))
{
throw new BusinessValidationFailedException("当前任务已被其他人领取,请进行其他的阅片任务");
}
else
{
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == claimSubjectDto.VisitTaskId, u => new VisitTask() { DoctorUserId = _userInfo.Id }, true);
}
IJobDetail job = JobBuilder.Create<CancelTaskQuartZJob>()
.UsingJobData("VisitTaskId",(Guid) claimSubjectDto.VisitTaskId) // 传递GUID参数给任务