PI 审核接口提交
parent
6df64d68af
commit
11b4cf0351
|
@ -295,6 +295,27 @@
|
||||||
<param name="_visitTaskCommonService"></param>
|
<param name="_visitTaskCommonService"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.PIAuditTask(IRaCIS.Core.Application.ViewModel.PIAuditTaskCommand)">
|
||||||
|
<summary>
|
||||||
|
new- 首次审核 后续编辑审核
|
||||||
|
</summary>
|
||||||
|
<param name="incommand"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.PIAuditTaskReply(IRaCIS.Core.Application.ViewModel.PIAuditTaskReplyCommand)">
|
||||||
|
<summary>
|
||||||
|
new- 回复审核内容
|
||||||
|
</summary>
|
||||||
|
<param name="incommand"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.GetPIAuditDialogList(IRaCIS.Core.Application.ViewModel.PIAuditDialogQuery)">
|
||||||
|
<summary>
|
||||||
|
new- 获取审核对话列表
|
||||||
|
</summary>
|
||||||
|
<param name="inQuery"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.GetReadingTaskList(IRaCIS.Core.Application.ViewModel.VisitTaskQuery)">
|
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.GetReadingTaskList(IRaCIS.Core.Application.ViewModel.VisitTaskQuery)">
|
||||||
<summary>
|
<summary>
|
||||||
PM阅片跟踪
|
PM阅片跟踪
|
||||||
|
|
|
@ -8,6 +8,7 @@ using IRaCIS.Core.Domain.Share;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.ViewModel
|
namespace IRaCIS.Core.Application.ViewModel
|
||||||
{
|
{
|
||||||
|
@ -75,9 +76,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public bool IsClinicalDataSign { get; set; }
|
public bool IsClinicalDataSign { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public CompleteClinicalDataEnum CompleteClinicalDataEnum =>
|
public CompleteClinicalDataEnum CompleteClinicalDataEnum =>
|
||||||
(IsNeedClinicalDataSign && IsClinicalDataSign) ? CompleteClinicalDataEnum.Complete : (IsNeedClinicalDataSign && IsClinicalDataSign == false) ? CompleteClinicalDataEnum.NotComplete : CompleteClinicalDataEnum.NA;
|
(IsNeedClinicalDataSign && IsClinicalDataSign) ? CompleteClinicalDataEnum.Complete : (IsNeedClinicalDataSign && IsClinicalDataSign == false) ? CompleteClinicalDataEnum.NotComplete : CompleteClinicalDataEnum.NA;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -147,7 +148,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class PIReaingTaskView: ReadingTaskView
|
public class PIReaingTaskView : ReadingTaskView
|
||||||
{
|
{
|
||||||
public Guid? FirstAuditUserId { get; set; }
|
public Guid? FirstAuditUserId { get; set; }
|
||||||
|
|
||||||
|
@ -250,7 +251,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
public string SubjectCode { get; set; } = String.Empty;
|
public string SubjectCode { get; set; } = String.Empty;
|
||||||
|
|
||||||
public Guid? ClaimUserId { get;set; }
|
public Guid? ClaimUserId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public bool IsUrgent => UnReadTaskList.Any(t => t.IsUrgent);
|
public bool IsUrgent => UnReadTaskList.Any(t => t.IsUrgent);
|
||||||
|
@ -318,9 +319,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
public class GetOrderReadingIQueryableInDto
|
public class GetOrderReadingIQueryableInDto
|
||||||
{
|
{
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
public Guid TrialReadingCriterionId { get; set; }
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
public string? SubjectCode { get; set; } = null;
|
public string? SubjectCode { get; set; } = null;
|
||||||
|
|
||||||
|
@ -381,7 +382,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
|
|
||||||
public string? FirstAuditUserName { get; set; }
|
public string? FirstAuditUserName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public bool? IsWaitPIAudit { get; set; }
|
public bool? IsWaitPIAudit { get; set; }
|
||||||
|
|
||||||
|
@ -399,9 +400,41 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class PIAuditTaskCommand
|
||||||
|
{
|
||||||
|
[NotDefault]
|
||||||
|
public Guid VisitTaskId { get; set; }
|
||||||
|
public string NotAgreeReason { get; set; }
|
||||||
|
public string PIAuditNote { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public List<string> PIAuditImagePathList { get; set; }
|
||||||
|
|
||||||
|
public PIAuditState PIAuditState { get; set; }
|
||||||
|
|
||||||
|
public bool? IsEnrollment { get; set; }
|
||||||
|
|
||||||
|
public bool? IsPDConfirm { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PIAuditTaskReplyCommand
|
||||||
|
{
|
||||||
|
[NotDefault]
|
||||||
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
||||||
|
public string ReplyContent { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PIAuditDialogQuery
|
||||||
|
{
|
||||||
|
[NotDefault]
|
||||||
|
public Guid VisitTaskId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class PIAuditDialogListView: PIAuditTaskCommand
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ using Org.BouncyCastle.Crypto;
|
||||||
using IRaCIS.Core.Domain.Share.Reading;
|
using IRaCIS.Core.Domain.Share.Reading;
|
||||||
using Quartz;
|
using Quartz;
|
||||||
using IRaCIS.Application.Services.BackGroundJob;
|
using IRaCIS.Application.Services.BackGroundJob;
|
||||||
|
using Magicodes.ExporterAndImporter.Core.Extension;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Service.Allocation
|
namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
|
@ -51,6 +52,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
private readonly IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository;
|
private readonly IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository;
|
||||||
private readonly IRepository<SubjectCriteriaEvaluationVisitStudyFilter> _subjectCriteriaEvaluationVisitStudyFilterRepository;
|
private readonly IRepository<SubjectCriteriaEvaluationVisitStudyFilter> _subjectCriteriaEvaluationVisitStudyFilterRepository;
|
||||||
|
private readonly IRepository<PIAudit> _PIAuditRepository;
|
||||||
|
|
||||||
public VisitTaskService(IRepository<SubjectVisit> subjectVisitRepository, IRepository<VisitTask> visitTaskRepository, IRepository<Trial> trialRepository,
|
public VisitTaskService(IRepository<SubjectVisit> subjectVisitRepository, IRepository<VisitTask> visitTaskRepository, IRepository<Trial> trialRepository,
|
||||||
IRepository<Subject> subjectRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
IRepository<Subject> subjectRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
||||||
|
@ -61,9 +63,11 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
IRepository<ReadingClinicalData> readingClinicalDataReposiotry,
|
IRepository<ReadingClinicalData> readingClinicalDataReposiotry,
|
||||||
IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository,
|
IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository,
|
||||||
IRepository<SubjectCriteriaEvaluationVisitFilter> subjectCriteriaEvaluationVisitFilterRepository,
|
IRepository<SubjectCriteriaEvaluationVisitFilter> subjectCriteriaEvaluationVisitFilterRepository,
|
||||||
IRepository<SubjectCriteriaEvaluationVisitStudyFilter> subjectCriteriaEvaluationVisitStudyFilterRepository
|
IRepository<SubjectCriteriaEvaluationVisitStudyFilter> subjectCriteriaEvaluationVisitStudyFilterRepository,
|
||||||
|
IRepository<PIAudit> PIAuditRepository
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
_PIAuditRepository = PIAuditRepository;
|
||||||
_readingClinicalDataReposiotry = readingClinicalDataReposiotry;
|
_readingClinicalDataReposiotry = readingClinicalDataReposiotry;
|
||||||
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
||||||
_visitTaskRepository = visitTaskRepository;
|
_visitTaskRepository = visitTaskRepository;
|
||||||
|
@ -122,8 +126,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
[HttpGet("{trialId:guid}")]
|
[HttpGet("{trialId:guid}")]
|
||||||
public async Task<List<TrialDoctorUserSelectView>> GetTrialDoctorUserSelectList(Guid trialId)
|
public async Task<List<TrialDoctorUserSelectView>> GetTrialDoctorUserSelectList(Guid trialId)
|
||||||
{
|
{
|
||||||
var query = from trialUser in _trialRepository.Where(t => t.Id == trialId ).SelectMany(t=>t.TrialUserList).Where(t=>t.User.UserTypeEnum==UserTypeEnum.SR || t.User.UserTypeEnum == UserTypeEnum.PI)
|
var query = from trialUser in _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialUserList).Where(t => t.User.UserTypeEnum == UserTypeEnum.SR || t.User.UserTypeEnum == UserTypeEnum.PI)
|
||||||
|
|
||||||
select new TrialDoctorUserSelectView()
|
select new TrialDoctorUserSelectView()
|
||||||
{
|
{
|
||||||
TrialId = trialUser.TrialId,
|
TrialId = trialUser.TrialId,
|
||||||
|
@ -132,7 +136,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
FullName = trialUser.User.FullName,
|
FullName = trialUser.User.FullName,
|
||||||
UserCode = trialUser.User.UserCode,
|
UserCode = trialUser.User.UserCode,
|
||||||
UserName = trialUser.User.UserName,
|
UserName = trialUser.User.UserName,
|
||||||
UserTypeEnum = trialUser.User.UserTypeRole.UserTypeEnum
|
UserTypeEnum = trialUser.User.UserTypeRole.UserTypeEnum
|
||||||
};
|
};
|
||||||
|
|
||||||
return await query.ToListAsync();
|
return await query.ToListAsync();
|
||||||
|
@ -210,22 +214,19 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
.WhereIf(queryVisitTask.BeginAllocateDate != null, t => t.AllocateTime > queryVisitTask.BeginAllocateDate)
|
.WhereIf(queryVisitTask.BeginAllocateDate != null, t => t.AllocateTime > queryVisitTask.BeginAllocateDate)
|
||||||
.WhereIf(queryVisitTask.EndAllocateDate != null, t => t.AllocateTime < queryVisitTask.EndAllocateDate!.Value.AddDays(1))
|
.WhereIf(queryVisitTask.EndAllocateDate != null, t => t.AllocateTime < queryVisitTask.EndAllocateDate!.Value.AddDays(1))
|
||||||
|
|
||||||
.WhereIf(queryVisitTask.IsWaitPIAudit ==true, t => t.FirstAuditUserId==null)
|
.WhereIf(queryVisitTask.IsWaitPIAudit == true, t => t.FirstAuditUserId == null)
|
||||||
.WhereIf(queryVisitTask.IsWaitPIAudit == false, t => t.FirstAuditUserId != null)
|
.WhereIf(queryVisitTask.IsWaitPIAudit == false, t => t.FirstAuditUserId != null)
|
||||||
|
|
||||||
.WhereIf(queryVisitTask.FirstAuditTimeBegin != null, t => t.AllocateTime > queryVisitTask.FirstAuditTimeBegin)
|
.WhereIf(queryVisitTask.FirstAuditTimeBegin != null, t => t.AllocateTime > queryVisitTask.FirstAuditTimeBegin)
|
||||||
.WhereIf(queryVisitTask.FirstAuditTimeEnd != null, t => t.AllocateTime < queryVisitTask.FirstAuditTimeEnd)
|
.WhereIf(queryVisitTask.FirstAuditTimeEnd != null, t => t.AllocateTime < queryVisitTask.FirstAuditTimeEnd)
|
||||||
.WhereIf(queryVisitTask.LatestReplyTimeBegin != null, t => t.AllocateTime > queryVisitTask.LatestReplyTimeBegin)
|
.WhereIf(queryVisitTask.LatestReplyTimeBegin != null, t => t.AllocateTime > queryVisitTask.LatestReplyTimeBegin)
|
||||||
.WhereIf(queryVisitTask.LatestReplyTimeEnd != null, t => t.AllocateTime < queryVisitTask.LatestReplyTimeEnd)
|
.WhereIf(queryVisitTask.LatestReplyTimeEnd != null, t => t.AllocateTime < queryVisitTask.LatestReplyTimeEnd);
|
||||||
|
|
||||||
|
return visitTaskQueryable;
|
||||||
;
|
|
||||||
|
|
||||||
return visitTaskQueryable;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<PIReaingTaskView>> > GetPIReadingAuditList(VisitTaskQuery queryVisitTask)
|
public async Task<IResponseOutput<PageOutput<PIReaingTaskView>>> GetPIReadingAuditList(VisitTaskQuery queryVisitTask)
|
||||||
{
|
{
|
||||||
|
|
||||||
var visitTaskQueryable = GetReadingTaskQueryable(queryVisitTask)
|
var visitTaskQueryable = GetReadingTaskQueryable(queryVisitTask)
|
||||||
|
@ -239,7 +240,77 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
return ResponseOutput.Ok(pageList, trialTaskConfig);
|
return ResponseOutput.Ok(pageList, trialTaskConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///new- 首次审核 后续编辑审核
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="incommand"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
|
||||||
|
public async Task<IResponseOutput> PIAuditTask(PIAuditTaskCommand incommand)
|
||||||
|
{
|
||||||
|
//需要设置首次审核时间 审核人
|
||||||
|
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == incommand.VisitTaskId);
|
||||||
|
var isFirstAudit = visitTask.FirstAuditUserId == null;
|
||||||
|
|
||||||
|
visitTask.NotAgreeReason = incommand.NotAgreeReason;
|
||||||
|
visitTask.PIAuditNote = incommand.PIAuditNote;
|
||||||
|
visitTask.PIAuditImagePath = string.Join('|', incommand.PIAuditImagePathList);
|
||||||
|
visitTask.PIAuditState = incommand.PIAuditState;
|
||||||
|
visitTask.IsEnrollment = incommand.IsEnrollment;
|
||||||
|
visitTask.IsPDConfirm = incommand.IsPDConfirm;
|
||||||
|
visitTask.LatestReplyUserId = _userInfo.Id;
|
||||||
|
visitTask.LatestReplyTime = DateTime.Now;
|
||||||
|
|
||||||
|
if (isFirstAudit)
|
||||||
|
{
|
||||||
|
visitTask.FirstAuditUserId = _userInfo.Id;
|
||||||
|
visitTask.FirstAuditTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
//发送对话
|
||||||
|
var addDialig = _mapper.Map<PIAudit>(incommand);
|
||||||
|
|
||||||
|
await _PIAuditRepository.AddAsync(addDialig);
|
||||||
|
|
||||||
|
await _visitTaskRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///new- 回复审核内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="incommand"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<IResponseOutput> PIAuditTaskReply(PIAuditTaskReplyCommand incommand)
|
||||||
|
{
|
||||||
|
await _PIAuditRepository.AddAsync(new PIAudit() { ReplyContent=incommand.ReplyContent,VisitTaskId=incommand.VisitTaskId});
|
||||||
|
|
||||||
|
await _PIAuditRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// new- 获取审核对话列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inQuery"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<List<PIAuditDialogListView>> GetPIAuditDialogList(PIAuditDialogQuery inQuery)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
var list = await _PIAuditRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId).OrderBy(t=>t.CreateTime).ProjectTo<PIAuditDialogListView>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -259,7 +330,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo<TrialUrgentConfig>(_mapper.ConfigurationProvider).FirstOrDefault();
|
var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo<TrialUrgentConfig>(_mapper.ConfigurationProvider).FirstOrDefault();
|
||||||
|
|
||||||
return ResponseOutput.Ok (pageList, trialTaskConfig);
|
return ResponseOutput.Ok(pageList, trialTaskConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -526,7 +597,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
//PI 读随访的时候, subject 如果基线没阅片完,SR就不能看
|
//PI 读随访的时候, subject 如果基线没阅片完,SR就不能看
|
||||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.PI && piReadingScopenEnum == PIReadingScopenEnum.AllVisit,
|
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.PI && piReadingScopenEnum == PIReadingScopenEnum.AllVisit,
|
||||||
t => t.Subject.SubjectVisitTaskList.Any(c => c.SourceSubjectVisit.IsBaseLine == true && c.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState==TaskState.Effect))
|
t => t.Subject.SubjectVisitTaskList.Any(c => c.SourceSubjectVisit.IsBaseLine == true && c.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect))
|
||||||
|
|
||||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SR, t => t.Subject.TrialSite.CRCUserList.Any(u => u.UserId == _userInfo.Id))
|
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SR, t => t.Subject.TrialSite.CRCUserList.Any(u => u.UserId == _userInfo.Id))
|
||||||
// 仅仅SR阅片 PI 没有任务列表
|
// 仅仅SR阅片 PI 没有任务列表
|
||||||
|
@ -1050,7 +1121,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
|
|
||||||
//IR申请 PM 审批 注意这里有一致性分析的申请同意 不会回退访视,在此要生成影响的访视任务
|
//IR申请 PM 审批 注意这里有一致性分析的申请同意 不会回退访视,在此要生成影响的访视任务
|
||||||
if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.DocotorApply && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager )
|
if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.DocotorApply && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
|
||||||
{
|
{
|
||||||
|
|
||||||
//有序阅片
|
//有序阅片
|
||||||
|
@ -1199,7 +1270,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
|
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1772,8 +1843,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
//IR 申请 PM 同意 仅仅影响自己
|
//IR 申请 PM 同意 仅仅影响自己
|
||||||
|
|
||||||
if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && (t.CreateUser.UserTypeEnum == UserTypeEnum.SR|| t.CreateUser.UserTypeEnum == UserTypeEnum.PI)))
|
if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && (t.CreateUser.UserTypeEnum == UserTypeEnum.SR || t.CreateUser.UserTypeEnum == UserTypeEnum.PI)))
|
||||||
|| ( (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SR|| _userInfo.UserTypeEnumInt == (int)UserTypeEnum.PI) && applyId == null))
|
|| ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SR || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.PI) && applyId == null))
|
||||||
{
|
{
|
||||||
|
|
||||||
//当前任务及其之后的所有访视任务、全局任务、裁判任务、肿瘤学阅片任务
|
//当前任务及其之后的所有访视任务、全局任务、裁判任务、肿瘤学阅片任务
|
||||||
|
|
|
@ -315,8 +315,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(o => o.Id, t => t.MapFrom(u => u.InfluenceTask.Id));
|
.ForMember(o => o.Id, t => t.MapFrom(u => u.InfluenceTask.Id));
|
||||||
|
|
||||||
|
|
||||||
|
CreateMap<PIAuditTaskCommand, PIAudit>();
|
||||||
|
|
||||||
|
CreateMap<PIAudit, PIAuditDialogListView>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,48 +7,61 @@ using System;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models
|
||||||
{
|
{
|
||||||
///<summary>
|
///<summary>
|
||||||
///PIAudit
|
///PIAudit
|
||||||
///</summary>
|
///</summary>
|
||||||
[Table("PIAudit")]
|
[Table("PIAudit")]
|
||||||
public class PIAudit : Entity, IAuditAdd
|
public class PIAudit : Entity, IAuditAdd
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
[JsonIgnore]
|
||||||
/// Id
|
public VisitTask VisitTask { get; set; }
|
||||||
/// </summary>
|
|
||||||
[Key]
|
public Guid VisitTaskId { get; set; }
|
||||||
[Required]
|
|
||||||
public Guid Id { get; set; }
|
public string ReplyContent { get; set; }=string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
public bool? IsEnrollment { get; set; }
|
||||||
/// PIAuditNote
|
|
||||||
/// </summary>
|
public bool? IsPDConfirm { get; set; }
|
||||||
public string PIAuditNote { get; set; }
|
|
||||||
|
public string PIAuditNote { get; set; } = string.Empty;
|
||||||
/// <summary>
|
|
||||||
/// NotAgreeReason
|
|
||||||
/// </summary>
|
public string NotAgreeReason { get; set; } = string.Empty;
|
||||||
public string NotAgreeReason { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
public string PIAuditImagePath { get; set; } = string.Empty;
|
||||||
/// PIAuditImagePath
|
|
||||||
/// </summary>
|
|
||||||
public string PIAuditImagePath { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// CreateUserId
|
public DateTime CreateTime { get; set; }
|
||||||
/// </summary>
|
|
||||||
[Required]
|
[NotMapped]
|
||||||
public Guid CreateUserId { get; set; }
|
public List<string> PIAuditImagePathList
|
||||||
|
{
|
||||||
/// <summary>
|
get
|
||||||
/// CreateTime
|
{
|
||||||
/// </summary>
|
|
||||||
[Required]
|
try
|
||||||
public DateTime CreateTime { get; set; }
|
{
|
||||||
|
return this.PIAuditImagePath.Trim().Split('|').ToList();
|
||||||
}
|
}
|
||||||
}
|
catch (Exception)
|
||||||
|
{
|
||||||
|
|
||||||
|
return new List<string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[Table("VisitTask")]
|
[Table("VisitTask")]
|
||||||
public class VisitTask : Entity, IAuditUpdate, IAuditAdd
|
public class VisitTask : Entity, IAuditUpdate, IAuditAdd
|
||||||
{
|
{
|
||||||
|
public List<PIAudit> PIAuditList { get; set; } = new List<PIAudit>();
|
||||||
public string TaskName { get; set; } = string.Empty;
|
public string TaskName { get; set; } = string.Empty;
|
||||||
public string TaskBlindName { get; set; } = string.Empty;
|
public string TaskBlindName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
@ -451,7 +451,9 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public PIAuditState PIAuditState { get; set; }
|
public PIAuditState PIAuditState { get; set; }
|
||||||
|
|
||||||
|
public bool? IsEnrollment { get; set; }
|
||||||
|
|
||||||
|
public bool? IsPDConfirm { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
Loading…
Reference in New Issue