diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index bf800cacb..5204fd502 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -49,6 +49,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public ArbitrationRule ArbitrationRule { get; set; }
}
+ public class VerifyeCriterionNeedSynchronizeInDto
+ {
+ public Guid TrialCriterionId { get; set; }
+ }
public class GetTrialJudgyInfoInDto
{
[NotDefault]
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
index b4a0949d6..cb53d2263 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
@@ -98,6 +98,33 @@ namespace IRaCIS.Application.Services
}
+ ///
+ /// 验证是否要同步标准
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task VerifyeCriterionNeedSynchronize(VerifyeCriterionNeedSynchronizeInDto inDto)
+ {
+ var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialCriterionId).FirstNotNullAsync();
+ if (trialCriterion.ReadingQuestionCriterionSystemId != null)
+ {
+ var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == trialCriterion.ReadingQuestionCriterionSystemId).FirstNotNullAsync();
+ if (systemCriterion.ConfirmTime > trialCriterion.SynchronizeTime)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+
+ }
+ else
+ {
+ return false;
+ }
+ }
///
/// 同步标准到项目新(2022-08-10)
@@ -151,6 +178,10 @@ namespace IRaCIS.Application.Services
await _readingQuestionTrialRepository.BatchDeleteNoTrackingAsync(x => x.ReadingQuestionCriterionTrialId == trialCriterionId);
await _readingQuestionTrialRepository.AddRangeAsync(needAddDatas);
+ await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(trialCriterionId, x => new ReadingQuestionCriterionTrial()
+ {
+ SynchronizeTime = DateTime.Now
+ });
await _readingQuestionTrialRepository.SaveChangesAsync();
}
}
@@ -282,7 +313,13 @@ namespace IRaCIS.Application.Services
if (inDto.IsCompleteConfig)
{
await SynchronizeSystemCriterion(inDto.Id);
- }else
+
+ await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.Id, x => new ReadingQuestionCriterionSystem()
+ {
+ ConfirmTime = DateTime.Now
+ }) ;
+ }
+ else
{
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x=>x.ReadingQuestionCriterionSystemId== inDto.Id, x => new ReadingQuestionCriterionTrial()
{
diff --git a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs
index ff48094de..00d0baacd 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionSystem.cs
@@ -44,6 +44,11 @@ namespace IRaCIS.Core.Domain.Models
///
public DateTime CreateTime { get; set; }
+ ///
+ /// 确认时间
+ ///
+ public DateTime ConfirmTime { get; set; }
+
///
/// 创建人
///
diff --git a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs
index 5c8a06cd8..5f6f20339 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs
@@ -87,7 +87,12 @@ namespace IRaCIS.Core.Domain.Models
///
/// 是否显示详情
///
- public bool IsShowDetail { get; set; }
+ public bool IsShowDetail { get; set; }
+
+ ///
+ /// 同步时间
+ ///
+ public DateTime SynchronizeTime { get; set; }
///
/// 项目