修改审核

Uat_Study
hang 2023-07-11 16:23:08 +08:00
parent 11b4cf0351
commit bbbc9da76e
4 changed files with 47 additions and 17 deletions

View File

@ -127,6 +127,13 @@ namespace IRaCIS.Core.Application.ViewModel
public bool IsCanEditUrgentState { get; set; }
public bool? IsBaseline { get; set; }
public bool? IsEnrollmentConfirm { get; set; }
public PDStateEnum? PDState { get; set; }
}
public class UserSimpleInfo
@ -386,8 +393,6 @@ namespace IRaCIS.Core.Application.ViewModel
public bool? IsWaitPIAudit { get; set; }
public int? AuditResultEnum { get; set; }
public string? LatestReplyUserName { get; set; }
@ -398,7 +403,15 @@ namespace IRaCIS.Core.Application.ViewModel
}
public class PIAuditTaskEnrollOrPdCommand
{
[NotDefault]
public Guid VisitTaskId { get; set; }
public bool? IsEnrollment { get; set; }
public bool? IsPDConfirm { get; set; }
}
public class PIAuditTaskCommand
{
@ -411,12 +424,10 @@ namespace IRaCIS.Core.Application.ViewModel
public PIAuditState PIAuditState { get; set; }
public bool? IsEnrollment { get; set; }
public bool? IsPDConfirm { get; set; }
}
public class PIAuditTaskReplyCommand
public class PIAuditTaskReplyCommand
{
[NotDefault]
public Guid VisitTaskId { get; set; }
@ -431,7 +442,7 @@ namespace IRaCIS.Core.Application.ViewModel
}
public class PIAuditDialogListView: PIAuditTaskCommand
public class PIAuditDialogListView : PIAuditTaskCommand
{
}

View File

@ -189,8 +189,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
private IQueryable<VisitTask> GetReadingTaskQueryable(VisitTaskQuery queryVisitTask)
private IQueryable<VisitTask> GetReadingTaskQueryable(VisitTaskQuery queryVisitTask)
{
var trialConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).Select(t => new { t.EnrollConfirmDefaultUserType, t.PDProgressDefaultUserType }).FirstOrDefault() ;
var visitTaskQueryable = _visitTaskRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.IsAnalysisCreate == false)
.WhereIf(queryVisitTask.TaskState != null, t => t.TaskState == queryVisitTask.TaskState)
@ -203,7 +205,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
.WhereIf(queryVisitTask.TaskAllocationState != null, t => t.TaskAllocationState == queryVisitTask.TaskAllocationState)
.WhereIf(queryVisitTask.TrialReadingCriterionId != null, t => t.TrialReadingCriterionId == queryVisitTask.TrialReadingCriterionId)
.WhereIf(queryVisitTask.ReReadingApplyState != null, t => t.ReReadingApplyState == queryVisitTask.ReReadingApplyState)
.WhereIf(queryVisitTask.PIAuditState != null, t => t.PIAuditState == queryVisitTask.PIAuditState)
.WhereIf(queryVisitTask.CompleteClinicalDataEnum == CompleteClinicalDataEnum.Complete, t => t.IsClinicalDataSign && t.IsNeedClinicalDataSign == true)
.WhereIf(queryVisitTask.CompleteClinicalDataEnum == CompleteClinicalDataEnum.NotComplete, t => t.IsClinicalDataSign == false && t.IsNeedClinicalDataSign == true)
@ -214,9 +216,11 @@ namespace IRaCIS.Core.Application.Service.Allocation
.WhereIf(queryVisitTask.BeginAllocateDate != null, t => t.AllocateTime > queryVisitTask.BeginAllocateDate)
.WhereIf(queryVisitTask.EndAllocateDate != null, t => t.AllocateTime < queryVisitTask.EndAllocateDate!.Value.AddDays(1))
.WhereIf(trialConfig?.EnrollConfirmDefaultUserType==UserTypeEnum.MIM && _userInfo.UserTypeEnumInt==(int)UserTypeEnum.MIM,t=>t.SourceSubjectVisit.IsBaseLine==true)
.WhereIf(trialConfig?.PDProgressDefaultUserType == UserTypeEnum.MIM && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.MIM, t => t.SourceSubjectVisit.IsBaseLine == false)
.WhereIf(queryVisitTask.IsWaitPIAudit == true, t => t.FirstAuditUserId == null)
.WhereIf(queryVisitTask.IsWaitPIAudit == false, t => t.FirstAuditUserId != null)
.WhereIf(queryVisitTask.PIAuditState != null, t => t.PIAuditState == queryVisitTask.PIAuditState)
.WhereIf(queryVisitTask.FirstAuditTimeBegin != null, t => t.AllocateTime > queryVisitTask.FirstAuditTimeBegin)
.WhereIf(queryVisitTask.FirstAuditTimeEnd != null, t => t.AllocateTime < queryVisitTask.FirstAuditTimeEnd)
.WhereIf(queryVisitTask.LatestReplyTimeBegin != null, t => t.AllocateTime > queryVisitTask.LatestReplyTimeBegin)
@ -259,8 +263,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
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;
@ -281,6 +284,21 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
[HttpPost]
public async Task<IResponseOutput> PIAuditTaskEnrollOrPD(PIAuditTaskEnrollOrPdCommand incommand)
{
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == incommand.VisitTaskId);
visitTask.IsEnrollment = incommand.IsEnrollment != null ? incommand.IsEnrollment : visitTask.IsEnrollment;
visitTask.IsPDConfirm = incommand.IsPDConfirm != null ? incommand.IsPDConfirm : visitTask.IsPDConfirm;
await _visitTaskRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
/// <summary>
///new- 回复审核内容
/// </summary>
@ -288,7 +306,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
/// <returns></returns>
public async Task<IResponseOutput> PIAuditTaskReply(PIAuditTaskReplyCommand incommand)
{
await _PIAuditRepository.AddAsync(new PIAudit() { ReplyContent=incommand.ReplyContent,VisitTaskId=incommand.VisitTaskId});
await _PIAuditRepository.AddAsync(new PIAudit() { ReplyContent = incommand.ReplyContent, VisitTaskId = incommand.VisitTaskId });
await _PIAuditRepository.SaveChangesAsync();
@ -305,7 +323,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
var list = await _PIAuditRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId).OrderBy(t=>t.CreateTime).ProjectTo<PIAuditDialogListView>(_mapper.ConfigurationProvider).ToListAsync();
var list = await _PIAuditRepository.Where(t => t.VisitTaskId == inQuery.VisitTaskId).OrderBy(t => t.CreateTime).ProjectTo<PIAuditDialogListView>(_mapper.ConfigurationProvider).ToListAsync();
return list;
}

View File

@ -131,8 +131,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName))
//.ForMember(o => o.IsClinicalDataSigned, t => t.MapFrom(u => u.Subject.ClinicalDataList.Any(c => c.IsSign && (c.ReadingId == u.SouceReadModuleId || c.ReadingId == u.SourceSubjectVisitId))))
;
.ForMember(o => o.IsBaseline, t => t.MapFrom(u => u.SourceSubjectVisit.IsBaseLine))
.ForMember(o => o.IsEnrollmentConfirm, t => t.MapFrom(u => u.SourceSubjectVisit.IsEnrollmentConfirm))
.ForMember(o => o.PDState, t => t.MapFrom(u => u.SourceSubjectVisit.PDState)) ;

View File

@ -2510,7 +2510,7 @@ namespace IRaCIS.Application.Services
if (claimSubjectDto.IsClaim)
{
if(_subjectRepository.Any(t=>t.Id== claimSubjectDto.SubejctId && t.ClaimUserId != _userInfo.Id))
if(_subjectRepository.Any(t=>t.Id== claimSubjectDto.SubejctId && t.ClaimUserId != _userInfo.Id && t.ClaimUserId!=null))
{
throw new BusinessValidationFailedException("当前任务已被其他人领取,请进行其他的阅片任务");
}
@ -2550,7 +2550,7 @@ namespace IRaCIS.Application.Services
{
if (claimSubjectDto.IsClaim)
{
if (_visitTaskRepository.Any(t => t.Id == claimSubjectDto.VisitTaskId && t.DoctorUserId != _userInfo.Id))
if (_visitTaskRepository.Any(t => t.Id == claimSubjectDto.VisitTaskId && t.DoctorUserId != _userInfo.Id && t.DoctorUserId != null))
{
throw new BusinessValidationFailedException("当前任务已被其他人领取,请进行其他的阅片任务");
}