修改任务

Uat_Study
hang 2022-07-04 16:29:29 +08:00
parent b27549c216
commit 9b0872bab2
8 changed files with 57 additions and 19 deletions

View File

@ -242,6 +242,13 @@
<param name="agreeReReadingCommand"></param> <param name="agreeReReadingCommand"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.GetReReadingInfluenceTaskList(System.Guid)">
<summary>
重阅影响提示列表
</summary>
<param name="taskId"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.CommonDocumentService"> <member name="T:IRaCIS.Core.Application.Service.CommonDocumentService">
<summary> <summary>
系统模板文档配置表 系统模板文档配置表

View File

@ -6,6 +6,8 @@
using System; using System;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using System.Collections.Generic; using System.Collections.Generic;
using Newtonsoft.Json;
namespace IRaCIS.Core.Application.ViewModel namespace IRaCIS.Core.Application.ViewModel
{ {
/// <summary> TaskConsistentRuleView 列表视图模型 </summary> /// <summary> TaskConsistentRuleView 列表视图模型 </summary>
@ -91,6 +93,9 @@ namespace IRaCIS.Core.Application.ViewModel
public String TrialSiteCode { get; set; } = String.Empty; public String TrialSiteCode { get; set; } = String.Empty;
public string SubjectCode { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty;
[JsonIgnore]
public Guid? DoctorUserId { get; set; }
} }

View File

@ -22,6 +22,8 @@ namespace IRaCIS.Core.Application.ViewModel
public string TaskName { get; set; } public string TaskName { get; set; }
public string TaskBlindName { get; set; } public string TaskBlindName { get; set; }
public decimal VisitTaskNum { get; set; }
public ReadingCategory ReadingCategory { get; set; } public ReadingCategory ReadingCategory { get; set; }
public TaskAllocationState TaskAllocationState { get; set; } public TaskAllocationState TaskAllocationState { get; set; }

View File

@ -175,9 +175,9 @@ namespace IRaCIS.Core.Application.Service
var group = _visitTaskRepository.Where(t => t.TrialId == filterObj.TrialId && inCommand.SubejctIdList.Contains(t.SubjectId)) var group = _visitTaskRepository.Where(t => t.TrialId == filterObj.TrialId && inCommand.SubejctIdList.Contains(t.SubjectId))
// 自身一致性分析 // 自身一致性分析
.WhereIf(isSelfAnalysis, t => t.DoctorUserId == filterObj.AnalysisDoctorUserId) .WhereIf(isSelfAnalysis, t => t.DoctorUserId == filterObj.AnalysisDoctorUserId)
// 组内一致性分析 // 组内一致性分析
.WhereIf(isSelfAnalysis == false, t => t.DoctorUserId == filterObj.AnalysisDoctorUserId && subjectfilter.Contains(t.SubjectId)) .WhereIf(isSelfAnalysis == false, t => t.DoctorUserId == filterObj.AnalysisDoctorUserId && subjectfilter.Contains(t.SubjectId))
.Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect) .Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)
.Where(t => t.SignTime!.Value.AddDays(filterObj.IntervalWeeks * 7 + 1) > DateTime.Now) .Where(t => t.SignTime!.Value.AddDays(filterObj.IntervalWeeks * 7 + 1) > DateTime.Now)
//重阅产生的访视任务 要把之前的访视任务去除 //重阅产生的访视任务 要把之前的访视任务去除
@ -185,8 +185,8 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(filterObj.IsHaveReadingPeriod == false, t => t.ReadingCategory == ReadingCategory.Visit) .WhereIf(filterObj.IsHaveReadingPeriod == false, t => t.ReadingCategory == ReadingCategory.Visit)
.WhereIf(filterObj.IsHaveReadingPeriod == true, t => t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) .WhereIf(filterObj.IsHaveReadingPeriod == true, t => t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global)
.GroupBy(t => t.SubjectId) .GroupBy(t => t.SubjectId)
.Where(g => g.Count() > filterObj.PlanVisitCount); .Where(g => g.Count() > filterObj.PlanVisitCount);
var query = group.Select(g => new DoctorConsistentRuleSubjectView() var query = group.Select(g => new DoctorConsistentRuleSubjectView()
@ -218,7 +218,7 @@ namespace IRaCIS.Core.Application.Service
foreach (var subject in list) foreach (var subject in list)
{ {
subject.VisitTaskList.ForEach(t => t.DoctorUserId = doctorUserId);
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand() await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
@ -237,7 +237,6 @@ namespace IRaCIS.Core.Application.Service
/// <summary> /// <summary>
/// 一致性分配 配置+ 统计已经生成数量统计表 /// 一致性分配 配置+ 统计已经生成数量统计表
/// </summary> /// </summary>

View File

@ -374,6 +374,12 @@ namespace IRaCIS.Core.Application.Service
TaskState = TaskState.Effect, TaskState = TaskState.Effect,
Code = currentMaxCodeInt + 1, Code = currentMaxCodeInt + 1,
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)), TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
DoctorUserId = task.DoctorUserId,
TaskAllocationState = TaskAllocationState.Allocated,
AllocateTime = DateTime.Now,
}; };
await _visitTaskRepository.AddAsync(consistentTask); await _visitTaskRepository.AddAsync(consistentTask);
@ -407,7 +413,7 @@ namespace IRaCIS.Core.Application.Service
TaskState = TaskState.Effect, TaskState = TaskState.Effect,
DoctorUserId = subjectUser==null ? null : subjectUser.Id, DoctorUserId = subjectUser==null ? null : subjectUser.Id,
TaskAllocationState = subjectUser == null? TaskAllocationState.NotAllocate: TaskAllocationState.Allocated, TaskAllocationState = subjectUser == null? TaskAllocationState.NotAllocate: TaskAllocationState.Allocated,
AllocateTime = DateTime.Now, AllocateTime = subjectUser == null ?null: DateTime.Now,
}; };
await _visitTaskRepository.AddAsync(visitTask); await _visitTaskRepository.AddAsync(visitTask);
currentMaxCodeInt = currentMaxCodeInt + 1; currentMaxCodeInt = currentMaxCodeInt + 1;

View File

@ -199,7 +199,7 @@ namespace IRaCIS.Core.Application.Service
} }
@ -950,7 +950,7 @@ namespace IRaCIS.Core.Application.Service
OriginalReReadingTaskId = task.Id, OriginalReReadingTaskId = task.Id,
RequestReReadingTime = DateTime.Now, RequestReReadingTime = DateTime.Now,
RequestReReadingUserId = _userInfo.Id, RequestReReadingUserId = _userInfo.Id,
IsCopyOrigenalForms= applyReReadingCommand.IsCopyOrigenalForms, IsCopyOrigenalForms = applyReReadingCommand.IsCopyOrigenalForms,
RequestReReadingReason = applyReReadingCommand.RequestReReadingReason, RequestReReadingReason = applyReReadingCommand.RequestReReadingReason,
RequestReReadingType = applyReReadingCommand.RequestReReadingType, RequestReReadingType = applyReReadingCommand.RequestReReadingType,
@ -979,14 +979,6 @@ namespace IRaCIS.Core.Application.Service
foreach (var item in agreeReReadingCommand.ConfirmReReadingList) foreach (var item in agreeReReadingCommand.ConfirmReReadingList)
{ {
//await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == item.OriginalReReadingTaskId, u => new VisitTask()
//{
// ReReadingApplyState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject),
// TaskState = (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : TaskState.Effect)
//});
var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id, true).FirstOrDefaultAsync()).IfNullThrowException(); var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id, true).FirstOrDefaultAsync()).IfNullThrowException();
//更新原始任务 //更新原始任务
@ -1064,6 +1056,22 @@ namespace IRaCIS.Core.Application.Service
/// <summary>
/// 重阅影响提示列表
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
[HttpGet("{taskId:guid}")]
public async Task<List<VisitTaskSimpleView>> GetReReadingInfluenceTaskList(Guid taskId)
{
var filterObj = await _visitTaskRepository.FirstOrDefaultNoTrackingAsync(t => t.Id == taskId);
var list = await _visitTaskRepository.Where(t => t.TrialId == filterObj.TrialId && t.SubjectId == filterObj.SubjectId && t.VisitTaskNum >= filterObj.VisitTaskNum)
.Where(t => t.TaskState == TaskState.Effect && ! t.IsAnalysisCreate)
.ProjectTo<VisitTaskSimpleView>(_mapper.ConfigurationProvider).ToListAsync();
return list;
}
} }

View File

@ -220,6 +220,13 @@ namespace IRaCIS.Core.Application.Service
CreateMap<TaskConsistentRuleAddOrEdit, TaskConsistentRule>(); CreateMap<TaskConsistentRuleAddOrEdit, TaskConsistentRule>();
CreateMap<VisitTask, VisitTaskSimpleView>()
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode))
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code));
} }
} }

View File

@ -27,8 +27,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? SouceReadModuleId { get; set; } public Guid? SouceReadModuleId { get; set; }
public ReadingCategory ReadingCategory { get; set; } public ReadingCategory ReadingCategory { get; set; }
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
@ -114,6 +113,11 @@ namespace IRaCIS.Core.Domain.Models
//是否是一致性分析产生 //是否是一致性分析产生
public bool IsAnalysisCreate { get; set; } public bool IsAnalysisCreate { get; set; }
public string BlindSubjectCode { get; set; } = string.Empty;
public string BlindTrialSiteCode { get; set; } = string.Empty;
//一致性分析规则Id 用于最后统计 //一致性分析规则Id 用于最后统计
public Guid? TaskConsistentRuleId { get; set; } public Guid? TaskConsistentRuleId { get; set; }