添加默认不适用规则
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
73c86666b4
commit
e70ee70f6b
|
|
@ -36,6 +36,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer,
|
||||
IRepository<PreviousPDF> _previousPDFRepository,
|
||||
IRepository<ReadingQuestionVisitJudgeRule> _readingQuestionVisitJudgeRuleRepository,
|
||||
IRepository<VisitStage> _visitStageRepository,
|
||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IReadingQuestionService
|
||||
|
||||
{
|
||||
|
|
@ -713,9 +714,61 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
|
||||
var entity = await _readingQuestionTrialRepository.InsertOrUpdateAsync(indto, true);
|
||||
await AddNAJudgeRule(entity);
|
||||
return ResponseOutput.Ok(entity.Id.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加问题的不适用规则
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private async Task AddNAJudgeRule(ReadingQuestionTrial entity)
|
||||
{
|
||||
List<decimal> visitNums = new List<decimal>();
|
||||
if (entity.IsJudgeQuestion)
|
||||
{
|
||||
var visitStageNums = await _visitStageRepository
|
||||
.Where(x => x.TrialId == entity.TrialId)
|
||||
.Select(x => x.VisitNum)
|
||||
.Distinct()
|
||||
.ToListAsync();
|
||||
|
||||
switch (entity.LimitShow)
|
||||
{
|
||||
case LimitShow.BaseLineShow:
|
||||
visitNums = visitStageNums.Where(x => x > 0).ToList();
|
||||
visitNums.Add(-1);
|
||||
break;
|
||||
case LimitShow.FollowShow:
|
||||
visitNums.Add(0);
|
||||
break;
|
||||
case LimitShow.ExcludeSomeVisits:
|
||||
visitNums = entity.ExcludeShowVisitList;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (visitNums.Count==0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
await _readingQuestionVisitJudgeRuleRepository.BatchDeleteNoTrackingAsync(x =>
|
||||
x.ReadingQuestionId == entity.Id && visitNums.Contains(x.VisitNum));
|
||||
|
||||
var rules = visitNums.Select(visitNum => new ReadingQuestionVisitJudgeRule
|
||||
{
|
||||
Id = NewId.NextGuid(),
|
||||
ReadingQuestionId = entity.Id,
|
||||
VisitNum = visitNum,
|
||||
JudgeType = JudgeTypeEnum.None,
|
||||
}).ToList();
|
||||
|
||||
await _readingQuestionVisitJudgeRuleRepository.AddRangeAsync(rules);
|
||||
await _readingQuestionVisitJudgeRuleRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目问题(项目)
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public class ReadingQuestionVisitJudgeRule : BaseAddAuditEntity
|
|||
public Guid ReadingQuestionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 访视Num
|
||||
/// 访视Num (计划外是-1)
|
||||
/// </summary>
|
||||
public decimal VisitNum { get; set; }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue