修改简单提示

Uat_Study
hang 2022-05-23 11:37:55 +08:00
parent abd3f2dc7a
commit 186a1061a9
3 changed files with 38 additions and 39 deletions

View File

@ -158,7 +158,6 @@ namespace IRaCIS.Core.Application.Contracts
return ResponseOutput.NotOk("请先清除子问题 再删除父问题");
}
if (await _repository.AnyAsync<TrialQCQuestionAnswer>(t => t.TrialQCQuestionConfigureId == trialQCQuestionConfigureId))
{
return ResponseOutput.NotOk("已有QC审核记录不允许删除该问题项");

View File

@ -51,6 +51,16 @@ namespace IRaCIS.Core.Application
}
//验证 仅仅在 Initializing/Ongoing 才可以操作
private async Task VerifyOnlyInOngoingOrInitialIzingOptAsync(Guid trialId)
{
if (!await _trialRepository.AnyAsync(t => t.Id == signConfirmDTO.TrialId && (t.TrialStatusStr == StaticData.TrialInitializing || t.TrialStatusStr == StaticData.TrialOngoing)))
{
throw new BusinessValidationFailedException("项目不在Initializing/Ongoing不允许确认配置");
}
}
@ -60,11 +70,9 @@ namespace IRaCIS.Core.Application
/// <returns></returns>
public async Task<IResponseOutput> TrialConfigSignatureConfirm(SignConfirmDTO signConfirmDTO)
{
await VerifyOnlyInOngoingOrInitialIzingOptAsync(signConfirmDTO.TrialId);
if (!await _trialRepository.AnyAsync(t => t.Id == signConfirmDTO.TrialId && (t.TrialStatusStr == StaticData.TrialInitializing|| t.TrialStatusStr == StaticData.TrialOngoing)))
{
throw new BusinessValidationFailedException("项目不在Initializing/Ongoing不允许确认配置");
}
if (signConfirmDTO.SignCode == ((int)SignEnum.TrialLogicConfim).ToString())
{
@ -87,9 +95,9 @@ namespace IRaCIS.Core.Application
.FirstOrDefaultAsync(t => t.TrialId == signConfirmDTO.TrialId))
.IfNullThrowException();
var showOrderList = await _repository.Where<TrialQCQuestion>(t => t.TrialId == signConfirmDTO.TrialId).Select(t =>
new { t.ShowOrder , ParentShowOrder=(int?) t.ParentQCQuestion.ShowOrder} ).ToListAsync();
var showOrderList = await _repository.Where<TrialQCQuestion>(t => t.TrialId == signConfirmDTO.TrialId).Select(t =>
new { t.ShowOrder, ParentShowOrder = (int?)t.ParentQCQuestion.ShowOrder }).ToListAsync();
if (trialConfig.QCProcessEnum ==
TrialQCProcess.DoubleAudit || trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit)
@ -100,17 +108,17 @@ namespace IRaCIS.Core.Application
}
}
if (showOrderList.Count() != showOrderList.Select(t=>t.ShowOrder).Distinct().Count())
if (showOrderList.Count() != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
{
throw new BusinessValidationFailedException("QC问题显示序号不允许重复");
}
if (showOrderList.Where(t=>t.ParentShowOrder != null).Any(t => t.ParentShowOrder > t.ShowOrder))
if (showOrderList.Where(t => t.ParentShowOrder != null).Any(t => t.ParentShowOrder > t.ShowOrder))
{
throw new BusinessValidationFailedException("父问题的序号要比子问题序号小,请确认");
}
if( await _trialRepository.AnyAsync(t =>t.Id== signConfirmDTO.TrialId && t.QCQuestionConfirmedUserId != null && t.QCQuestionConfirmedUserId!= _userInfo.Id))
if (await _trialRepository.AnyAsync(t => t.Id == signConfirmDTO.TrialId && t.QCQuestionConfirmedUserId != null && t.QCQuestionConfirmedUserId != _userInfo.Id))
{
throw new BusinessValidationFailedException("QC审核问题已被其他QC确认不允许再次确认");
}
@ -123,7 +131,7 @@ namespace IRaCIS.Core.Application
await _trialRepository.SaveChangesAsync();
}
return ResponseOutput.Ok();
}
@ -138,15 +146,11 @@ namespace IRaCIS.Core.Application
[HttpPut]
public async Task<IResponseOutput> ConfigTrialBasicInfo(BasicTrialConfig trialConfig)
{
if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialOngoing || t.TrialStatusStr == StaticData.TrialInitializing))
{
return ResponseOutput.NotOk(" only in Initializing or Ongoing State can operate ");
}
await VerifyOnlyInOngoingOrInitialIzingOptAsync(signConfirmDTO.TrialId);
var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId)).IfNullThrowException();
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId);
if (trialInfo == null) return Null404NotFound(trialInfo);
_mapper.Map(trialConfig, trialInfo);
trialInfo.UpdateTime = DateTime.Now;
@ -159,7 +163,7 @@ namespace IRaCIS.Core.Application
var canOPt = await _trialRepository.AnyAsync(trial =>
trial.Id == trialId && trial.IsTrialBasicLogicConfirmed && trial.IsTrialProcessConfirmed &&
trial.IsTrialUrgentConfirmed && trial.VisitPlanConfirmed);
return ResponseOutput.Ok(canOPt, msg: canOPt?"": "项目 基础配置、流程配置、加急配置 、访视计划,有未确认项");
return ResponseOutput.Ok(canOPt, msg: canOPt ? "" : "项目 基础配置、流程配置、加急配置 、访视计划,有未确认项");
}
/// <summary>
@ -171,7 +175,7 @@ namespace IRaCIS.Core.Application
/// <returns></returns>
[HttpPut("{trialId:guid}/{trialStatusStr}/{reason?}")]
[UnitOfWork]
public async Task<IResponseOutput> UpdateTrialState(Guid trialId, string trialStatusStr, string? reason)
public async Task<IResponseOutput> UpdateTrialState(Guid trialId, string trialStatusStr, string? reason)
{
var trial = (await _trialRepository.Where(t => t.Id == trialId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException();
@ -187,7 +191,7 @@ namespace IRaCIS.Core.Application
return ResponseOutput.NotOk("项目 基础配置、流程配置、加急配置 、访视计划,有未确认项");
}
}
if (trialStatusStr != "Ongoing")
{
trial.TrialFinishTime = DateTime.Now;
@ -243,13 +247,14 @@ namespace IRaCIS.Core.Application
[HttpPut("{trialId:guid}/{isAbandon:bool}")]
public async Task<IResponseOutput> AbandonTrial(Guid trialId, /*Guid? signId,*/ bool isAbandon)
{
await _trialRepository.UpdatePartialFromQueryAsync(trialId, u => new Trial() {
IsDeleted = isAbandon,
TrialFinishTime= isAbandon?DateTime.Now:null
},true);
await _trialRepository.UpdatePartialFromQueryAsync(trialId, u => new Trial()
{
IsDeleted = isAbandon,
TrialFinishTime = isAbandon ? DateTime.Now : null
}, true);
return ResponseOutput.Ok();
}
@ -269,7 +274,7 @@ namespace IRaCIS.Core.Application
}
/// <summary>
/// 配置流程
@ -279,7 +284,7 @@ namespace IRaCIS.Core.Application
[HttpPut]
public async Task<IResponseOutput> ConfigTrialProcessInfo(TrialProcessConfig trialConfig)
{
if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialInitializing))
if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialInitializing))
{
return ResponseOutput.NotOk(" only in Initializing State can operate ");
}
@ -304,18 +309,13 @@ namespace IRaCIS.Core.Application
public async Task<IResponseOutput> ConfigTrialUrgentInfo(TrialUrgentConfig trialConfig)
{
if (!await _repository.Where<Trial>(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialOngoing || t.TrialStatusStr == StaticData.TrialInitializing))
{
return ResponseOutput.NotOk(" only in Initializing or Ongoing State can operate ");
}
await VerifyOnlyInOngoingOrInitialIzingOptAsync(trialConfig.TrialId);
var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId)).IfNullThrowException();
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialConfig.TrialId);
if (trialInfo == null) return Null404NotFound(trialInfo);
//项目紧急 当前所有已提交,但未完成的访视,设置为加急。后续提交的访视也设置为加急 ,
//项目紧急 当前所有已提交,但未完成的访视,设置为加急。后续提交的访视也设置为加急 (在提交的时候,回去判断 项目加急Subject加急是否入组确认是否Pd从而设置访视是否加急
if (trialConfig.IsUrgent)
{

View File

@ -268,7 +268,7 @@ namespace IRaCIS.Core.Application.Service
var trialId = sendEmail.TrialId;
var userId = sysUserInfo.Id;
//判断TrialUser中是否存在 不存在就插入
//判断TrialUser中是否存在 不存在就插入 注意退出了,也不能再加进来
if (!await _trialUserRepository.AnyAsync(t => t.TrialId == trialId && t.UserId == userId,true))
{