feat(templateMatcher): Приоритет автоконтроля JobGroup>Job при создании/переиспользовании шаблона
This commit is contained in:
@@ -9,6 +9,7 @@ using PARR.Domain.Entities.Base.History;
|
|||||||
using PARR.Domain.Entities.JobEntities;
|
using PARR.Domain.Entities.JobEntities;
|
||||||
using PARR.Domain.Enums;
|
using PARR.Domain.Enums;
|
||||||
using PARR.TemplateMatcher.Models;
|
using PARR.TemplateMatcher.Models;
|
||||||
|
using PARR.TemplateMatcher.Services.Implementations;
|
||||||
using PARR.TemplateMatcher.Services.Interfaces;
|
using PARR.TemplateMatcher.Services.Interfaces;
|
||||||
using PARR.TemplateMatcher.Settings;
|
using PARR.TemplateMatcher.Settings;
|
||||||
|
|
||||||
@@ -173,11 +174,9 @@ internal class GroupedTemplateProcessor : IGroupedTemplateProcessor
|
|||||||
HistoryInitiator initiator,
|
HistoryInitiator initiator,
|
||||||
CancellationToken ct)
|
CancellationToken ct)
|
||||||
{
|
{
|
||||||
// Вычисляем флаги активности
|
var (isActiveTemplate, isActiveSchedule) = AutoControlResolver.ResolveInitStates(
|
||||||
var isActiveTemplate = targetJob.AutoControl?.InitUsedTemplateState ?? false;
|
targetJob, targetJob.Group);
|
||||||
var isActiveSchedule = targetJob.AutoControl?.InitUsedScheduleState ?? false;
|
|
||||||
|
|
||||||
// Маппим кортежи в сообщения
|
|
||||||
var unitsInTemplateMsg = unitsInTemplateSubGroup
|
var unitsInTemplateMsg = unitsInTemplateSubGroup
|
||||||
.Select(e => new UnitInTemplateMessage
|
.Select(e => new UnitInTemplateMessage
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using PARR.Domain.Entities.JobEntities;
|
using PARR.Domain.Entities.JobEntities;
|
||||||
using PARR.Domain.Entities.JobGroupEntities;
|
using PARR.Domain.Entities.JobGroupEntities;
|
||||||
|
|
||||||
namespace PARR.TemplateMatcher.Services
|
namespace PARR.TemplateMatcher.Services.Implementations
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Определяет начальные статусы шаблона и расписания на основе типа группы работ.
|
/// Определяет начальные статусы шаблона и расписания на основе типа группы работ.
|
||||||
@@ -28,8 +28,9 @@ internal class AllocateTemplatesStage : ISimpleSyncWriteStage
|
|||||||
|
|
||||||
foreach (var unitId in context.NewUnitIds)
|
foreach (var unitId in context.NewUnitIds)
|
||||||
{
|
{
|
||||||
var isActiveTemplate = context.Job.AutoControl?.InitUsedTemplateState ?? defaultUsedTemplateState;
|
var (isActiveTemplate, isActiveSchedule) = AutoControlResolver.ResolveInitStates(
|
||||||
var isActiveSchedule = context.Job.AutoControl?.InitUsedScheduleState ?? defaultUsedScheduleState;
|
context.Job, context.Job.Group,
|
||||||
|
defaultUsedTemplateState, defaultUsedScheduleState);
|
||||||
|
|
||||||
var request = new TemplateAllocationRequest(
|
var request = new TemplateAllocationRequest(
|
||||||
TargetJob: context.Job,
|
TargetJob: context.Job,
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using PARR.Core.Common.Interfaces;
|
using PARR.Core.Common.Interfaces;
|
||||||
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
|
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
|
||||||
using PARR.Domain.Cache;
|
|
||||||
using PARR.Domain.Entities.Base.History;
|
using PARR.Domain.Entities.Base.History;
|
||||||
using PARR.Domain.Enums;
|
using PARR.Domain.Enums;
|
||||||
using PARR.EsppApi;
|
using PARR.EsppApi;
|
||||||
using PARR.EsppApi.Constants;
|
using PARR.EsppApi.Constants;
|
||||||
using PARR.EsppApi.Models.Query;
|
using PARR.EsppApi.Models.Query;
|
||||||
using PARR.TemplateMatcher;
|
|
||||||
using PARR.TemplateMatcher.Services.Implementations;
|
using PARR.TemplateMatcher.Services.Implementations;
|
||||||
using PARR.TemplateMatcher.Services.Interfaces;
|
using PARR.TemplateMatcher.Services.Interfaces;
|
||||||
using PARR.Test.NextRun;
|
using PARR.Test.NextRun;
|
||||||
@@ -44,8 +42,7 @@ namespace PARR.Test
|
|||||||
//var bbb = aaa.ToOffset(new TimeSpan(3, 0, 0));
|
//var bbb = aaa.ToOffset(new TimeSpan(3, 0, 0));
|
||||||
|
|
||||||
|
|
||||||
//await TemplateMatcherTest();
|
await TemplateMatcherTest();
|
||||||
await SimpleSyncTest();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user