添加默认不适用规则
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<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer,
|
||||||
IRepository<PreviousPDF> _previousPDFRepository,
|
IRepository<PreviousPDF> _previousPDFRepository,
|
||||||
IRepository<ReadingQuestionVisitJudgeRule> _readingQuestionVisitJudgeRuleRepository,
|
IRepository<ReadingQuestionVisitJudgeRule> _readingQuestionVisitJudgeRuleRepository,
|
||||||
|
IRepository<VisitStage> _visitStageRepository,
|
||||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IReadingQuestionService
|
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IReadingQuestionService
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -713,9 +714,61 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
var entity = await _readingQuestionTrialRepository.InsertOrUpdateAsync(indto, true);
|
var entity = await _readingQuestionTrialRepository.InsertOrUpdateAsync(indto, true);
|
||||||
|
await AddNAJudgeRule(entity);
|
||||||
return ResponseOutput.Ok(entity.Id.ToString());
|
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>
|
||||||
/// 获取项目问题(项目)
|
/// 获取项目问题(项目)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public class ReadingQuestionVisitJudgeRule : BaseAddAuditEntity
|
||||||
public Guid ReadingQuestionId { get; set; }
|
public Guid ReadingQuestionId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 访视Num
|
/// 访视Num (计划外是-1)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal VisitNum { get; set; }
|
public decimal VisitNum { get; set; }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue