Uat_Study
			
			
		
		
							parent
							
								
									b4b4c82e59
								
							
						
					
					
						commit
						529dc52823
					
				| 
						 | 
					@ -497,5 +497,68 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
			return ResponseOutput.Ok(true);
 | 
								return ResponseOutput.Ok(true);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// CRC 取消确认
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="inDto"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        [HttpPost]
 | 
				
			||||||
 | 
							public async Task<IResponseOutput> CRCCancelConfirmClinical(CRCCancelConfirmClinicalInDto inDto)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
								var dataList = await this.GetCRCConfirmList(new GetCRCConfirmListInDto()
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									TrialId = inDto.TrialId
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								var presentData = dataList.Where(x => x.ReadModuleId == inDto.ReadModuleId).First();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (dataList.Any(x => x.IsPMConfirm && x.LatestScanDate > presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									throw new BusinessValidationFailedException("当前数据并非最后一条确认信息,无法取消!");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(presentData.IsPMConfirm)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									throw new BusinessValidationFailedException("PM已确认,无法取消!");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								await _readModuleRepository.UpdatePartialFromQueryAsync(x => presentData.ReadModuleId==x.Id, x => new ReadModule()
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									IsCRCConfirm = false
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x=>x.ReadModuleId== presentData.ReadModuleId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								await _readModuleCriterionFromRepository.SaveChangesAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return ResponseOutput.Ok(true);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// PM确认临床数据
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="inDto"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        /// <exception cref="BusinessValidationFailedException"></exception>
 | 
				
			||||||
 | 
					        [HttpPost]
 | 
				
			||||||
 | 
					        public async Task<IResponseOutput> PMConfirmClinical(CRCConfirmClinicalInDto inDto)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var readModuleData = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync();
 | 
				
			||||||
 | 
					            if (!readModuleData.IsCRCConfirm)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
									throw new BusinessValidationFailedException("CRC还未确认数据,PM无法确认");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								await _readModuleRepository.UpdatePartialFromQueryAsync(x => inDto.ReadModuleId == x.Id, x => new ReadModule()
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									IsPMConfirm = false
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								await _readModuleRepository.SaveChangesAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return ResponseOutput.Ok(true);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -99,7 +99,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
 | 
				
			||||||
		public Guid TrialId { get; set; }
 | 
							public Guid TrialId { get; set; }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public class CRCConfirmClinicalInDto
 | 
					    public class CRCCancelConfirmClinicalInDto
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
							public Guid TrialId { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public Guid ReadModuleId { get; set; }
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public class CRCConfirmClinicalInDto
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
		public Guid TrialId { get; set; }
 | 
							public Guid TrialId { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue