修改配置
							parent
							
								
									3acb30cc93
								
							
						
					
					
						commit
						ac220ab495
					
				| 
						 | 
					@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc;
 | 
				
			||||||
using IRaCIS.Core.Application.Interfaces;
 | 
					using IRaCIS.Core.Application.Interfaces;
 | 
				
			||||||
using IRaCIS.Core.Application.ViewModel;
 | 
					using IRaCIS.Core.Application.ViewModel;
 | 
				
			||||||
using IRaCIS.Core.Application.Contracts;
 | 
					using IRaCIS.Core.Application.Contracts;
 | 
				
			||||||
 | 
					using IRaCIS.Core.Domain.Share;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace IRaCIS.Core.Application.Service
 | 
					namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -65,7 +66,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var verifyExp1 = new EntityVerifyExp<TaskAllocationRule>()
 | 
					            var verifyExp1 = new EntityVerifyExp<TaskAllocationRule>()
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                VerifyExp = t => t.DoctorUserId == addOrEditTaskAllocationRule.DoctorUserId && t.TrialId== addOrEditTaskAllocationRule.TrialId && t.IsJudgeDoctor,
 | 
					                VerifyExp = t => t.DoctorUserId == addOrEditTaskAllocationRule.DoctorUserId && t.TrialId== addOrEditTaskAllocationRule.TrialId && t.IsJudgeDoctor==addOrEditTaskAllocationRule.IsJudgeDoctor,
 | 
				
			||||||
                VerifyMsg = "已有该医生配置,不允许继续增加"
 | 
					                VerifyMsg = "已有该医生配置,不允许继续增加"
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -99,7 +100,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
        [HttpGet("{trialId:guid}")]
 | 
					        [HttpGet("{trialId:guid}")]
 | 
				
			||||||
        public async Task<List<TrialDoctorUserSelectView>> GetDoctorUserSelectList(Guid trialId,[FromServices]  IRepository<Enroll> _enrollRepository)
 | 
					        public async Task<List<TrialDoctorUserSelectView>> GetDoctorUserSelectList(Guid trialId,[FromServices]  IRepository<Enroll> _enrollRepository)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var query = from enroll in _enrollRepository.Where(t => t.TrialId == trialId)
 | 
					            var query = from enroll in _enrollRepository.Where(t => t.TrialId == trialId && t.EnrollStatus >= (int)EnrollStatus.ConfirmIntoGroup)
 | 
				
			||||||
                        join user in _userRepository.AsQueryable() on enroll.DoctorId equals user.DoctorId
 | 
					                        join user in _userRepository.AsQueryable() on enroll.DoctorId equals user.DoctorId
 | 
				
			||||||
                        select new TrialDoctorUserSelectView()
 | 
					                        select new TrialDoctorUserSelectView()
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -107,7 +107,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
            await _visitTaskCommonService.GenerateVisitTaskAsync(queryVisitTask.TrialId, svIdList);
 | 
					            await _visitTaskCommonService.GenerateVisitTaskAsync(queryVisitTask.TrialId, svIdList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var visitTaskQueryable = _visitTaskRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.IsAnalysisCreate==false)
 | 
					            var visitTaskQueryable = _visitTaskRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.IsAnalysisCreate == false)
 | 
				
			||||||
                .WhereIf(queryVisitTask.ReadingCategory != null, t => t.ReadingCategory == queryVisitTask.ReadingCategory)
 | 
					                .WhereIf(queryVisitTask.ReadingCategory != null, t => t.ReadingCategory == queryVisitTask.ReadingCategory)
 | 
				
			||||||
                .WhereIf(queryVisitTask.ReadingCategory == null, t => t.ReadingCategory != ReadingCategory.Judge)
 | 
					                .WhereIf(queryVisitTask.ReadingCategory == null, t => t.ReadingCategory != ReadingCategory.Judge)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -667,6 +667,8 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
            var subjectList = _subjectRepository.Where(t => t.TrialId == trialId)
 | 
					            var subjectList = _subjectRepository.Where(t => t.TrialId == trialId)
 | 
				
			||||||
                .WhereIf(isJudge == false, t => t.SubjectVisitTaskList.Where(t => t.ArmEnum != Arm.JudgeArm).Any())
 | 
					                .WhereIf(isJudge == false, t => t.SubjectVisitTaskList.Where(t => t.ArmEnum != Arm.JudgeArm).Any())
 | 
				
			||||||
                .WhereIf(isJudge, t => t.SubjectVisitTaskList.Where(t => t.ArmEnum == Arm.JudgeArm).Any())
 | 
					                .WhereIf(isJudge, t => t.SubjectVisitTaskList.Where(t => t.ArmEnum == Arm.JudgeArm).Any())
 | 
				
			||||||
 | 
					                //过滤掉  那些回退的subject
 | 
				
			||||||
 | 
					                .Where(t=>! t.SubjectVisitList.Any(t=>t.IsPMBackOrReReading))
 | 
				
			||||||
                .Select(t => new
 | 
					                .Select(t => new
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    SubjectId = t.Id,
 | 
					                    SubjectId = t.Id,
 | 
				
			||||||
| 
						 | 
					@ -894,6 +896,11 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
                    throw new BusinessValidationFailedException("出现脏数据  任务来源字段没有值");
 | 
					                    throw new BusinessValidationFailedException("出现脏数据  任务来源字段没有值");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                //PM 回退了 但是还没生成任务
 | 
				
			||||||
 | 
					                if( await  _subjectVisitRepository.AnyAsync(t=>t.SubjectId== visitTask.SubjectId && t.IsPMBackOrReReading))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    return ResponseOutput.NotOk("该受试者有访视进入了退回流程,还未经过一致性核查通过,不允许分配");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                visitTask.AllocateTime = DateTime.Now;
 | 
					                visitTask.AllocateTime = DateTime.Now;
 | 
				
			||||||
| 
						 | 
					@ -1406,6 +1413,11 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var task = (await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == taskId)).IfNullThrowException();
 | 
					            var task = (await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == taskId)).IfNullThrowException();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (task.TaskState != TaskState.Effect)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return ResponseOutput.NotOk("仅仅允许针对生效的任务进行退回操作,请刷新页面数据");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //申请的任务 肯定是未完成阅片的  并且是访视类型的
 | 
					            //申请的任务 肯定是未完成阅片的  并且是访视类型的
 | 
				
			||||||
            if (task.ReadingCategory != ReadingCategory.Visit || task.ReadingTaskState == ReadingTaskState.HaveSigned)
 | 
					            if (task.ReadingCategory != ReadingCategory.Visit || task.ReadingTaskState == ReadingTaskState.HaveSigned)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -1473,6 +1485,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    influenceTask.DoctorUserId = null;
 | 
					                                    influenceTask.DoctorUserId = null;
 | 
				
			||||||
                                    influenceTask.AllocateTime = null;
 | 
					                                    influenceTask.AllocateTime = null;
 | 
				
			||||||
 | 
					                                    influenceTask.SuggesteFinishedTime = null;
 | 
				
			||||||
                                    influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
 | 
					                                    influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
 | 
				
			||||||
                                    break;
 | 
					                                    break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1521,6 +1534,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                        influenceTask.DoctorUserId = null;
 | 
					                                        influenceTask.DoctorUserId = null;
 | 
				
			||||||
                                        influenceTask.AllocateTime = null;
 | 
					                                        influenceTask.AllocateTime = null;
 | 
				
			||||||
 | 
					                                        influenceTask.SuggesteFinishedTime = null;
 | 
				
			||||||
                                        influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
 | 
					                                        influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
 | 
				
			||||||
                                        break;
 | 
					                                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1564,6 +1578,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //需要重新产生任务  
 | 
					            //需要重新产生任务  
 | 
				
			||||||
            sv.IsVisitTaskGenerated = false;
 | 
					            sv.IsVisitTaskGenerated = false;
 | 
				
			||||||
 | 
					            sv.IsPMBackOrReReading = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            sv.AuditState = AuditStateEnum.None;
 | 
					            sv.AuditState = AuditStateEnum.None;
 | 
				
			||||||
            sv.SubmitState = SubmitStateEnum.ToSubmit;
 | 
					            sv.SubmitState = SubmitStateEnum.ToSubmit;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -231,6 +231,8 @@ namespace IRaCIS.Core.Application.Triggers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    #endregion
 | 
					                    #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    context.Entity.IsPMBackOrReReading = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    await _visitTaskHelpeService.GenerateVisitTaskAsync(subjectVisit.TrialId, new List<Guid>() { subjectVisit.Id }, true);
 | 
					                    await _visitTaskHelpeService.GenerateVisitTaskAsync(subjectVisit.TrialId, new List<Guid>() { subjectVisit.Id }, true);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -157,6 +157,8 @@ namespace IRaCIS.Core.Domain.Models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public bool IsVisitTaskGenerated { get; set; }
 | 
					        public bool IsVisitTaskGenerated { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool IsPMBackOrReReading { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 关闭一致性质疑原因
 | 
					        /// 关闭一致性质疑原因
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue