Compare commits
No commits in common. "9aa061e0939ac477d77e8c55a442ee17ba15a16f" and "9c4f2dcf6bc9567797348b90ad334228315c39ae" have entirely different histories.
9aa061e093
...
9c4f2dcf6b
|
|
@ -49,9 +49,6 @@ namespace IRaCIS.Core.API
|
||||||
triggerOptions.AddTrigger<TableQuestionRowTrigger>();
|
triggerOptions.AddTrigger<TableQuestionRowTrigger>();
|
||||||
//triggerOptions.AddTrigger<AddlTrialUserTrigger>();
|
//triggerOptions.AddTrigger<AddlTrialUserTrigger>();
|
||||||
triggerOptions.AddTrigger<VisitTaskIsFrontTaskNeedSignButNotSignTrigger>();
|
triggerOptions.AddTrigger<VisitTaskIsFrontTaskNeedSignButNotSignTrigger>();
|
||||||
triggerOptions.AddTrigger<VisitTaskIbeforeTrigger>();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
//using AutoMapper;
|
||||||
|
//using EasyCaching.Core;
|
||||||
|
//using EntityFrameworkCore.Triggered;
|
||||||
|
//using IRaCIS.Core.Application.Service;
|
||||||
|
//using IRaCIS.Core.Application.ViewModel;
|
||||||
|
//using IRaCIS.Core.Domain.Share;
|
||||||
|
//using IRaCIS.Core.Infrastructure;
|
||||||
|
//using System.Linq.Expressions;
|
||||||
|
|
||||||
|
//namespace IRaCIS.Core.Application.Triggers
|
||||||
|
//{
|
||||||
|
|
||||||
|
// public class VisitTaskIAfterSignTrigger : IAfterSaveTrigger<VisitTask>
|
||||||
|
// {
|
||||||
|
|
||||||
|
// private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
|
|
||||||
|
|
||||||
|
// public VisitTaskIAfterSignTrigger(
|
||||||
|
|
||||||
|
// IRepository<VisitTask> visitTaskRepository)
|
||||||
|
// {
|
||||||
|
|
||||||
|
// _visitTaskRepository = visitTaskRepository;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// //添加任务的时候 如果需要签名 并且已经签名了 那么要维护该标准 该Subject IsFrontTaskNeedSignButNotSign字段
|
||||||
|
// public async Task AfterSave(ITriggerContext<VisitTask> context, CancellationToken cancellationToken)
|
||||||
|
// {
|
||||||
|
// var visitTask = context.Entity;
|
||||||
|
|
||||||
|
|
||||||
|
// if(visitTask.SignTime!=null && visitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// switch (visitTask.ReadingCategory)
|
||||||
|
// {
|
||||||
|
// case ReadingCategory.Visit:
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// case ReadingCategory.Global:
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// case ReadingCategory.Judge:
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// case ReadingCategory.Oncology:
|
||||||
|
|
||||||
|
// break;
|
||||||
|
|
||||||
|
// default:
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
using AutoMapper;
|
|
||||||
using EasyCaching.Core;
|
|
||||||
using EntityFrameworkCore.Triggered;
|
|
||||||
using IRaCIS.Core.Application.Service;
|
|
||||||
using IRaCIS.Core.Application.ViewModel;
|
|
||||||
using IRaCIS.Core.Domain.Models;
|
|
||||||
using IRaCIS.Core.Domain.Share;
|
|
||||||
using IRaCIS.Core.Infrastructure;
|
|
||||||
using System.Linq.Expressions;
|
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Triggers
|
|
||||||
{
|
|
||||||
|
|
||||||
public class VisitTaskIbeforeTrigger : IBeforeSaveTrigger<VisitTask>, IAfterSaveTrigger<VisitTask>
|
|
||||||
{
|
|
||||||
|
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
|
||||||
private readonly IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository;
|
|
||||||
|
|
||||||
public VisitTaskIbeforeTrigger(
|
|
||||||
|
|
||||||
IRepository<VisitTask> visitTaskRepository, IRepository<ReadingJudgeInfo> readingJudgeInfoRepository)
|
|
||||||
{
|
|
||||||
|
|
||||||
_visitTaskRepository = visitTaskRepository;
|
|
||||||
_readingJudgeInfoRepository = readingJudgeInfoRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 因为维护状态先后顺序导致 裁判任务关联的 任务上的JudgeVisitTaskId==nulll 在这里需要重新设置下
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="context"></param>
|
|
||||||
/// <param name="cancellationToken"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public async Task AfterSave(ITriggerContext<VisitTask> context, CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
var visitTask = context.Entity;
|
|
||||||
//裁判任务维护,当裁判任务受到影响的时候,需要清理任务上关联的裁判任务id
|
|
||||||
if (context.ChangeType == ChangeType.Added && visitTask.ReadingCategory == ReadingCategory.Judge && visitTask.TaskState == TaskState.Effect)
|
|
||||||
{
|
|
||||||
|
|
||||||
var find = _readingJudgeInfoRepository.Where(t => t.JudgeTaskId == visitTask.Id).FirstOrDefault();
|
|
||||||
|
|
||||||
if (find != null)
|
|
||||||
{
|
|
||||||
var ids = new Guid[] { find.TaskIdOne, find.TaskIdTwo };
|
|
||||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => ids.Contains(t.Id), u => new VisitTask() { JudgeVisitTaskId = visitTask.Id });
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task BeforeSave(ITriggerContext<VisitTask> context, CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
var visitTask = context.Entity;
|
|
||||||
//裁判任务维护,当裁判任务受到影响的时候,需要清理任务上关联的裁判任务id
|
|
||||||
if (context.ChangeType == ChangeType.Modified)
|
|
||||||
{
|
|
||||||
if (visitTask.ReadingCategory == ReadingCategory.Judge && (visitTask.TaskState == TaskState.Adbandon || visitTask.TaskState == TaskState.HaveReturned))
|
|
||||||
{
|
|
||||||
var find = _readingJudgeInfoRepository.Where(t => t.JudgeTaskId == visitTask.Id).FirstOrDefault();
|
|
||||||
|
|
||||||
if (find != null)
|
|
||||||
{
|
|
||||||
var ids = new Guid[] { find.TaskIdOne, find.TaskIdTwo };
|
|
||||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => ids.Contains(t.Id), u => new VisitTask() { JudgeVisitTaskId = null });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -100,9 +100,20 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (context.ChangeType == ChangeType.Modified)
|
||||||
|
{
|
||||||
|
if (visitTask.ReadingCategory == ReadingCategory.Judge && (visitTask.TaskState == TaskState.Adbandon || visitTask.TaskState == TaskState.HaveReturned))
|
||||||
|
{
|
||||||
|
var find = _readingJudgeInfoRepository.Where(t => t.JudgeTaskId == visitTask.Id).FirstOrDefault();
|
||||||
|
|
||||||
|
if (find != null)
|
||||||
|
{
|
||||||
|
var ids = new Guid[] { find.TaskIdOne, find.TaskIdTwo };
|
||||||
|
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => ids.Contains(t.Id), u => new VisitTask() { JudgeVisitTaskId = null });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
#region 附加评估 暂时废弃
|
#region 附加评估 暂时废弃
|
||||||
// //从未签名状态 改为签名状态时 判断是否进行了附加评估,将附加评估的结果冗余
|
// //从未签名状态 改为签名状态时 判断是否进行了附加评估,将附加评估的结果冗余
|
||||||
// if (context.ChangeType == ChangeType.Modified && visitTask.ReadingTaskState == ReadingTaskState.HaveSigned && context.UnmodifiedEntity.ReadingTaskState != ReadingTaskState.HaveSigned)
|
// if (context.ChangeType == ChangeType.Modified && visitTask.ReadingTaskState == ReadingTaskState.HaveSigned && context.UnmodifiedEntity.ReadingTaskState != ReadingTaskState.HaveSigned)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue