refactor(dal,api,templateMatcher,templateGenerator,templateActivator): Немного порядка в namespaceах

This commit is contained in:
Mikhail Kuznetsov
2026-07-03 11:17:48 +10:00
parent 143ae10190
commit 3c9e03adbb
76 changed files with 165 additions and 135 deletions

View File

@@ -356,7 +356,8 @@ private async Task SyncValuesAsync(List<string?> values)
{
logger.LogDebug("Успешно сохранено поле: {FieldName}", item);
}
} }
}
}
private bool IsStringEqual(string? value1, string? value2)
{

View File

@@ -16,7 +16,8 @@ using PARR.Core.Common.Helpers;
using PARR.Core.Common.Interfaces.RabbitServices;
using PARR.Core.Extensions;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.MatchingStatusService;
using PARR.Core.Services.UnitFilterService;
@@ -24,7 +25,7 @@ using PARR.Domain.Common.Pagination;
using PARR.Domain.Common.Rabbit.Messages;
using PARR.Domain.Common.Roles;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
namespace PARR.API.Controllers.V1
@@ -43,7 +44,6 @@ namespace PARR.API.Controllers.V1
private readonly IRabbitService _mqService;
private readonly MqSettings _mqSettings;
private readonly IClientService _clientService;
private readonly IJobAutoControlRepository _jobAutoControlRepository;
private readonly IMatchingStatusService _matchingStatusService;
public JobController(
@@ -58,7 +58,6 @@ namespace PARR.API.Controllers.V1
IRabbitService mqService,
MqSettings mqSettings,
IClientService clientService,
IJobAutoControlRepository jobAutoControlRepository,
IMatchingStatusService matchingStatusService
)
{
@@ -70,7 +69,6 @@ namespace PARR.API.Controllers.V1
_mqService = mqService;
_mqSettings = mqSettings;
_clientService = clientService;
_jobAutoControlRepository = jobAutoControlRepository;
_matchingStatusService = matchingStatusService;
}

View File

@@ -14,7 +14,8 @@ using PARR.API.Services.Interfaces;
using PARR.API.Settings;
using PARR.Core.Common.Helpers;
using PARR.Core.Common.Interfaces.RabbitServices;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Schedule;
using PARR.Core.Services.MatchingStatusService;
using PARR.Domain.Common.Pagination;

View File

@@ -6,7 +6,7 @@ using PARR.API.Contracts.V1;
using PARR.API.Contracts.V1.Responses;
using PARR.API.Contracts.V1.Responses.Base;
using PARR.API.Controllers.V1.Base;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Domain.Common.Roles;
namespace PARR.API.Controllers.V1

View File

@@ -12,7 +12,7 @@ using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.UnitFilterService;
using PARR.Domain.Common.Roles;
using Job = PARR.Domain.Entities.Job.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.API.Controllers.V1
{

View File

@@ -1,5 +1,4 @@
using FluentValidation;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using PARR.API.Contracts.V1;
using PARR.API.Contracts.V1.Requests;
@@ -8,7 +7,7 @@ using PARR.API.Controllers.V1.Base;
using PARR.API.Services.Interfaces;
using PARR.API.Settings;
using PARR.Core.Common.Interfaces.RabbitServices;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Common.Rabbit.Messages;
using PARR.Domain.Common.Roles;
using PARR.Domain.Entities.Base.History;

View File

@@ -13,7 +13,7 @@ using PARR.Domain.DTOs.User;
using PARR.Domain.DTOs.Workload;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.Domain.Entities.Schedule;
using PARR.Domain.Entities.Unit;

View File

@@ -3,7 +3,7 @@ using PARR.API.Contracts.V1.Requests;
using PARR.API.Contracts.V1.Requests.Queries;
using PARR.Domain.Common.Pagination;
using PARR.Domain.DTOs.RobotSnapshotDTO;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.API.MappingProfiles
{

View File

@@ -2,7 +2,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.API.Contracts.V1.Requests;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.Schedule;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Domain.Enums;

View File

@@ -1,9 +1,8 @@
using FluentValidation;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json.Linq;
using PARR.API.Contracts.V1.Requests;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
namespace PARR.API.Validators
@@ -12,20 +11,17 @@ namespace PARR.API.Validators
{
private readonly ITnkRepository _tnkRepository;
private readonly IJobGroupRepository _jobGroupRepository;
private readonly IJobRepository _jobRepository;
private readonly IUnitFieldRepository _unitFieldRepository;
//private JobGroup? jobGroup;
public JobRequestValidator(
ITnkRepository tnkRepository,
IJobGroupRepository jobGroupRepository,
IJobRepository jobRepository,
IUnitFieldRepository unitFieldRepository
)
{
_tnkRepository = tnkRepository;
_jobGroupRepository = jobGroupRepository;
_jobRepository = jobRepository;
_unitFieldRepository = unitFieldRepository;
RuleFor(t => t.Name)

View File

@@ -2,7 +2,8 @@
using Microsoft.EntityFrameworkCore;
using PARR.API.Contracts.V1.Requests;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Enums;
namespace PARR.API.Validators

View File

@@ -1,7 +1,8 @@
using FluentValidation;
using PARR.API.Contracts.V1.Requests;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Enums;
namespace PARR.API.Validators

View File

@@ -1,8 +1,8 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.Domain.Entities.Schedule;
@@ -15,16 +15,13 @@ namespace PARR.Core.Common.Helpers;
public class JobGroupCloneHelper
{
private readonly IJobGroupRepository groupRepository;
private readonly IJobRepository jobRepository;
private readonly ILogger<JobGroupCloneHelper> logger;
public JobGroupCloneHelper(
IJobGroupRepository groupRepository,
IJobRepository jobRepository,
ILogger<JobGroupCloneHelper> logger)
{
this.groupRepository = groupRepository;
this.jobRepository = jobRepository;
this.logger = logger;
}

View File

@@ -1,13 +1,8 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Common.Helpers;

View File

@@ -1,8 +0,0 @@
using PARR.Core.Repositories.Base;
namespace PARR.Core.Repositories.Interfaces.Job
{
public interface IJobRepository : IBaseRepository<Domain.Entities.Job.Job>
{
}
}

View File

@@ -1,7 +1,7 @@
using PARR.Core.Repositories.Base;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.Core.Repositories.Interfaces.Job
namespace PARR.Core.Repositories.Interfaces.JobGroupRepositories
{
public interface IJobGroupRepository : IBaseRepository<JobGroup>
{

View File

@@ -1,7 +1,7 @@
using PARR.Core.Repositories.Base;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.Core.Repositories.Interfaces.Job
namespace PARR.Core.Repositories.Interfaces.JobGroupRepositories
{
public interface IJobGroupTypeRepository : IBaseRepository<JobGroupType>
{

View File

@@ -1,7 +1,7 @@
using PARR.Core.Repositories.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Repositories.Interfaces.Job
namespace PARR.Core.Repositories.Interfaces.JobRepositories
{
public interface IFieldFilterRepository : IBaseRepository<JobFieldFilter>
{

View File

@@ -1,6 +1,6 @@
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Repositories.Interfaces.Job
namespace PARR.Core.Repositories.Interfaces.JobRepositories
{
public interface IJobAutoControlRepository
{

View File

@@ -0,0 +1,9 @@
using PARR.Core.Repositories.Base;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Repositories.Interfaces.JobRepositories
{
public interface IJobRepository : IBaseRepository<Job>
{
}
}

View File

@@ -1,7 +1,7 @@
using PARR.Core.Repositories.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Repositories.Interfaces.Job
namespace PARR.Core.Repositories.Interfaces.JobRepositories
{
public interface IJobUnitFilterRepository : IBaseRepository<JobUnitFilter>
{

View File

@@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.Core.Common.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Cache.Models;
using PARR.Domain.DTOs.Matching;
using PARR.Domain.Enums;

View File

@@ -2,7 +2,7 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Common.Interfaces;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.Shortcodes.Enums;
using PARR.Core.Services.Shortcodes.Handlers;
@@ -10,7 +10,7 @@ using PARR.Core.Services.Shortcodes.Models;
using PARR.Domain.Cache.Models;
using PARR.Domain.DTOs.Shortcode;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
using PARR.Domain.Settings;
using System.Runtime.CompilerServices;

View File

@@ -1,5 +1,5 @@
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Services.UnitFilterService
{

View File

@@ -1,7 +1,7 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Services.UnitFilterService.Matchers.Interfaces;
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
namespace PARR.Core.Services.UnitFilterService.Matchers;

View File

@@ -2,7 +2,7 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.UnitFilterService.Matchers.Interfaces;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Services.UnitFilterService.Matchers;

View File

@@ -3,7 +3,7 @@ using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.UnitFilterService.Matchers.Interfaces;
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Services.UnitFilterService.Matchers;

View File

@@ -1,5 +1,5 @@
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Services.UnitFilterService.Matchers.Interfaces
{

View File

@@ -1,4 +1,4 @@
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Services.UnitFilterService.Matchers.Interfaces
{

View File

@@ -1,5 +1,5 @@
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.Core.Services.UnitFilterService.Matchers.Interfaces
{

View File

@@ -1,12 +1,12 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Common.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.UnitFilterService.Matchers.Interfaces;
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Core.Services.UnitService.Interfaces;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.Unit;
using System.Diagnostics;

View File

@@ -2,7 +2,7 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.TaskRepositories;
using PARR.Core.Services.NextRunServices;
using PARR.Core.Services.TaskServices.Helpers;
@@ -10,7 +10,6 @@ using PARR.Core.Services.Workload.Interfaces;
using PARR.Core.Services.Workload.Models;
using PARR.Domain.Cache.Models;
using PARR.Domain.DTOs.Workload;
using PARR.Domain.Entities;
using PARR.Domain.Enums;
using PARR.Domain.Enums.Workload;

View File

@@ -3,15 +3,14 @@ using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using PARR.Core.Common.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.UnitFilterService;
using PARR.Core.Services.UnitFilterService.Matchers.Interfaces;
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Core.Services.UnitService.Interfaces;
using PARR.DAL.Context;
using PARR.Domain.Cache.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.Domain.Entities.Unit;
using PARR.Domain.Enums;

View File

@@ -3,7 +3,7 @@ using PARR.Core.Extensions;
using PARR.Domain.Common.Roles;
using PARR.Domain.Common.Template;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.Domain.Entities.RobotEntities;
using PARR.Domain.Entities.Schedule;

View File

@@ -3,8 +3,8 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.RobotRepositories;
using PARR.Core.Repositories.Interfaces.Schedule;
using PARR.Core.Repositories.Interfaces.TaskRepositories;
@@ -14,6 +14,7 @@ using PARR.DAL.Context;
using PARR.DAL.Repositories;
using PARR.DAL.Repositories.Job;
using PARR.DAL.Repositories.JobGroupRepositories;
using PARR.DAL.Repositories.JobRepositories;
using PARR.DAL.Repositories.RobotRepositories;
using PARR.DAL.Repositories.Schedule;
using PARR.DAL.Repositories.TaskRepositories;

View File

@@ -1,10 +1,10 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.DAL.Context;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.DAL.Repositories.Job
namespace PARR.DAL.Repositories.JobGroupRepositories
{
internal class JobGroupRepository : BaseRepository<JobGroup>, IJobGroupRepository
{

View File

@@ -1,10 +1,10 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.DAL.Context;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.DAL.Repositories.Job
namespace PARR.DAL.Repositories.JobGroupRepositories
{
internal class JobGroupTypeRepository : BaseRepository<JobGroupType>, IJobGroupTypeRepository
{

View File

@@ -1,8 +1,8 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.DAL.Context;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.DAL.Repositories.Job
{

View File

@@ -1,6 +1,6 @@
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.DAL.Context;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.DAL.Repositories.Job
{

View File

@@ -1,16 +1,16 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.DAL.Context;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.DAL.Repositories.Job
namespace PARR.DAL.Repositories.JobRepositories
{
internal class JobRepository : BaseRepository<Domain.Entities.Job.Job>, IJobRepository
internal class JobRepository : BaseRepository<Domain.Entities.JobEntities.Job>, IJobRepository
{
public JobRepository(DataContext dataContext, ILogger<JobRepository> logger) : base(logger, dataContext) { }
public override Task<bool> CreateAsync(Domain.Entities.Job.Job obj)
public override Task<bool> CreateAsync(Domain.Entities.JobEntities.Job obj)
{
if (obj.AutoControl == null)
obj.AutoControl = new JobAutoControl
@@ -22,7 +22,7 @@ namespace PARR.DAL.Repositories.Job
}
public override Task<bool> AddRangeAsync(List<Domain.Entities.Job.Job> objs)
public override Task<bool> AddRangeAsync(List<Domain.Entities.JobEntities.Job> objs)
{
objs.ForEach(job =>
{

View File

@@ -1,8 +1,8 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.DAL.Context;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.DAL.Repositories.Job
{

View File

@@ -5,7 +5,7 @@ using PARR.Domain.Entities.JobGroupEntities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.Domain.Entities.Job
namespace PARR.Domain.Entities.JobEntities
{
[Table("Jobs", Schema = DatabaseSchemas.Job)]
[Comment("Таблица видов работ")]

View File

@@ -3,7 +3,7 @@ using PARR.Domain.Constants;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.Domain.Entities.Job
namespace PARR.Domain.Entities.JobEntities
{
[Table("AutoControls", Schema = DatabaseSchemas.Job)]
[Comment("Таблица управления автоконтролем для работ")]

View File

@@ -5,7 +5,7 @@ using PARR.Domain.Entities.Unit;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.Domain.Entities.Job
namespace PARR.Domain.Entities.JobEntities
{
[Table("FieldFilters", Schema = DatabaseSchemas.Job)]
[Comment("Таблица описания критериев выборки аттрибутов ЭК")]

View File

@@ -3,7 +3,7 @@ using PARR.Domain.Constants;
using PARR.Domain.Entities.Unit;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.Domain.Entities.Job
namespace PARR.Domain.Entities.JobEntities
{
[Table("RelationshipFilters", Schema = DatabaseSchemas.Job)]
[Comment("Таблица фильтров связей ЭК")]

View File

@@ -4,7 +4,7 @@ using PARR.Domain.Entities.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.Domain.Entities.Job
namespace PARR.Domain.Entities.JobEntities
{
[Table("UnitFilters", Schema = DatabaseSchemas.Job)]
[Comment("Таблица описания критериев выборки ЭК, описание полей в АСУ ЕСПП")]

View File

@@ -2,7 +2,7 @@
using PARR.Domain.Constants;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.Domain.Entities.Job
namespace PARR.Domain.Entities.JobEntities
{
[Table("UnitsInTemplates", Schema = DatabaseSchemas.Job)]
[Comment("Таблица связи ЭК в шаблонах")]

View File

@@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.Schedule;
using PARR.Domain.Entities.Unit;
using PARR.Domain.Settings;
@@ -180,7 +181,7 @@ namespace PARR.Domain.Entities.JobGroupEntities
[ForeignKey(nameof(GroupTypeId))]
public JobGroupType? GroupType { get; set; }
public ICollection<Job.Job> Jobs { get; set; } = new HashSet<Job.Job>();
public ICollection<Job> Jobs { get; set; } = new HashSet<Job>();
public ICollection<EsppSchValue> EsppSchValues { get; set; } = new HashSet<EsppSchValue>();

View File

@@ -1,14 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.Domain.Cache.Models;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.Unit;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PARR.Domain.Entities.JobGroupEntities
{

View File

@@ -2,7 +2,7 @@
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Base.History.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -77,7 +77,7 @@ namespace PARR.Domain.Entities
//public Host? Host { get; set; }
[ForeignKey(nameof(JobId))]
public Job.Job? Job { get; set; }
public JobEntities.Job? Job { get; set; }
[ForeignKey(nameof(UnitId))]
public Unit.Unit? Unit { get; set; }

View File

@@ -1,4 +1,5 @@
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.JobEntities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -30,6 +31,6 @@ namespace PARR.Domain.Entities
public Subprocess? Subprocess { get; set; }
public ICollection<Job.Job> Jobs { get; set; } = new HashSet<Job.Job>();
public ICollection<Job> Jobs { get; set; } = new HashSet<Job>();
}
}

View File

@@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

View File

@@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

View File

@@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

View File

@@ -2,10 +2,11 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Base;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.Domain.Enums;

View File

@@ -1,6 +1,6 @@
using Microsoft.EntityFrameworkCore;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;

View File

@@ -1,13 +1,13 @@
using Microsoft.EntityFrameworkCore;
using PARR.Core.Common.Interfaces;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Services.NextRunServices;
using PARR.Core.Services.Shortcodes;
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
using PARR.TemplateGeneratorWorker.Services;

View File

@@ -1,6 +1,6 @@
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.Unit;
namespace PARR.TemplateMatcher.Models

View File

@@ -0,0 +1,41 @@
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
namespace PARR.TemplateMatcher.Services
{
/// <summary>
/// Определяет начальные статусы шаблона и расписания на основе типа группы работ.
/// Если IsJobGroupAutoControl == true → берём из JobGroup.AutoControl.
/// Иначе → берём из Job.AutoControl.
/// </summary>
public static class AutoControlResolver
{
public static (bool IsActiveTemplate, bool IsActiveSchedule) ResolveInitStates(
Job job,
JobGroup? jobGroup,
bool defaultTemplateState = false,
bool defaultScheduleState = false)
{
// Тип группы определяет источник настроек
var isGroupLevel = jobGroup?.GroupType?.IsJobGroupAutoControl == true;
if (isGroupLevel && jobGroup!.AutoControl != null)
{
return (
jobGroup.AutoControl.InitUsedTemplateState,
jobGroup.AutoControl.InitUsedScheduleState
);
}
if (!isGroupLevel && job.AutoControl != null)
{
return (
job.AutoControl.InitUsedTemplateState,
job.AutoControl.InitUsedScheduleState
);
}
return (defaultTemplateState, defaultScheduleState);
}
}
}

View File

@@ -1,6 +1,6 @@
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.TemplateMatcher.Models;

View File

@@ -4,7 +4,7 @@ using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.Shortcodes;
using PARR.Domain.Constants;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.TemplateMatcher.Models;

View File

@@ -6,7 +6,7 @@ using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
using PARR.TemplateMatcher.Models;
using PARR.TemplateMatcher.Services.Interfaces;

View File

@@ -1,4 +1,4 @@
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.JobGroupEntities;
using PARR.TemplateMatcher.Models;

View File

@@ -1,5 +1,5 @@
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.TemplateMatcher.Models;
namespace PARR.TemplateMatcher.Services.GroupedSync;

View File

@@ -1,5 +1,5 @@
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.TemplateMatcher.Services.GroupedSync
{

View File

@@ -1,6 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.TemplateMatcher.Services.GroupedSync;
namespace PARR.TemplateMatcher.Services.Implementations.GroupedSync;
@@ -24,6 +24,7 @@ internal class LoadJobGroupStage : IGroupedSyncStage
.AsNoTracking()
.AsSingleQuery()
.Include(jg => jg.GroupType)
.Include(jg => jg.AutoControl)
.Include(jg => jg.Jobs).ThenInclude(j => j.AutoControl)
.Include(jg => jg.Jobs).ThenInclude(j => j.UnitFilters)
.ThenInclude(uf => uf.RelationshipFilters).ThenInclude(rf => rf.UnitField)

View File

@@ -2,7 +2,7 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.UnitFilterService.Models;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.TemplateMatcher.Services.GroupedSync;
internal class UnitInTemplateConflictMapper : IUnitInTemplateConflictMapper

View File

@@ -1,5 +1,5 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.TemplateMatcher.Services.Interfaces;
namespace PARR.TemplateMatcher.Services.Implementations

View File

@@ -3,7 +3,7 @@ using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using PARR.Core.Common.Interfaces.RabbitServices;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.MatchingStatusService;
using PARR.Core.Services.UnitFilterService;
@@ -11,7 +11,7 @@ using PARR.Domain.Cache.Models;
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.Unit;
using PARR.Domain.Enums;
using PARR.Domain.Settings;

View File

@@ -2,11 +2,11 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
using PARR.Domain.Settings;
using PARR.TemplateMatcher.Services.Interfaces;

View File

@@ -1,8 +1,9 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobGroupRepositories;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
using PARR.TemplateMatcher.Services.GroupedSync;
using PARR.TemplateMatcher.Services.Interfaces;

View File

@@ -4,7 +4,7 @@ using PARR.Core.Repositories.Interfaces;
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.Unit;
using PARR.Domain.Enums;
using PARR.TemplateMatcher.Services.Interfaces;

View File

@@ -1,6 +1,6 @@
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Entities.Unit;
namespace PARR.TemplateMatcher.Services.Interfaces

View File

@@ -1,6 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.TemplateMatcher.Services.SimpleSync;
namespace PARR.TemplateMatcher.Services.Implementations.SimpleSync;
@@ -26,6 +26,7 @@ internal class LoadJobStage : ISimpleSyncStage
.Include(j => j.AutoControl)
.Include(j => j.Tnk)
.Include(j => j.Group).ThenInclude(g => g!.GroupType)
.Include(j => j.AutoControl)
.Include(j => j.UnitFilters).ThenInclude(uf => uf.RelationshipFilters)
.FirstOrDefaultAsync(j => j.Id == context.JobId, ct);

View File

@@ -1,6 +1,6 @@
using PARR.Domain.Entities;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
namespace PARR.TemplateMatcher.Services.SimpleSync
{

View File

@@ -2,11 +2,11 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Extensions;
using PARR.Core.Repositories.Interfaces;
using PARR.Core.Repositories.Interfaces.Job;
using PARR.Core.Repositories.Interfaces.JobRepositories;
using PARR.Core.Repositories.Interfaces.Unit;
using PARR.Core.Services.NextRunServices;
using PARR.Domain.Common.Rabbit.Messages.TemplateMatching;
using PARR.Domain.Entities.Job;
using PARR.Domain.Entities.JobEntities;
using PARR.Domain.Enums;
namespace PARR.TemplateUpdater.Services