diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index 6edfcdfa..00e0e647 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -9503,25 +9503,25 @@ "resourceName": "Platform", "key": "App.Maintenance.Plan", "tr": "Bakım Planları", - "en": "Maintenance Plans" + "en": "Plans" }, { "resourceName": "Platform", "key": "App.Maintenance.PlanEmployee", - "tr": "Bakım Planı Personelleri", - "en": "Maintenance Plan Employees" + "tr": "Personeller", + "en": "Employees" }, { "resourceName": "Platform", "key": "App.Maintenance.PlanMaterial", - "tr": "Bakım Planı Malzemeleri", - "en": "Maintenance Plan Materials" + "tr": "Malzemeler", + "en": "Materials" }, { "resourceName": "Platform", "key": "App.Maintenance.Calendar", "tr": "Bakım Takvimi", - "en": "Maintenance Calendar" + "en": "Calendar" }, { "resourceName": "Platform", diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Maintenance.cs b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Maintenance.cs index fa34d8da..4b3d9940 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Maintenance.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Maintenance.cs @@ -752,7 +752,7 @@ public class ListFormSeeder_Maintenance : IDataSeedContributor, ITransientDepend }, autoSave: true ); - #region MaintenancePlan Fields + #region Plan Fields await _listFormFieldRepository.InsertManyAsync([ new() { ListFormCode = listForm.ListFormCode, @@ -1266,7 +1266,7 @@ public class ListFormSeeder_Maintenance : IDataSeedContributor, ITransientDepend new { ParentFieldName = "Id", DbType = DbType.Guid, - ChildFieldName = "MaintenancePlanId" + ChildFieldName = "PlanId" } } }, @@ -1278,7 +1278,7 @@ public class ListFormSeeder_Maintenance : IDataSeedContributor, ITransientDepend new { ParentFieldName = "Id", DbType = DbType.Guid, - ChildFieldName = "MaintenancePlanId" + ChildFieldName = "PlanId" } } } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlan.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Plan.cs similarity index 80% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlan.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Plan.cs index efadda58..042a6c81 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlan.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Plan.cs @@ -5,7 +5,7 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenancePlan : FullAuditedEntity, IMultiTenant +public class Plan : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } @@ -25,6 +25,6 @@ public class MaintenancePlan : FullAuditedEntity, IMultiTenant // Collections public string RequiredSkillsJson { get; set; } - public List Materials { get; set; } - public List Employees { get; set; } + public List Materials { get; set; } + public List Employees { get; set; } } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlanEmployee.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/PlanEmployee.cs similarity index 64% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlanEmployee.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/PlanEmployee.cs index 86f05eae..2c3c8f75 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlanEmployee.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/PlanEmployee.cs @@ -4,12 +4,12 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenancePlanEmployee : FullAuditedEntity, IMultiTenant +public class PlanEmployee : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } - public Guid MaintenancePlanId { get; set; } - public MaintenancePlan MaintenancePlan { get; set; } + public Guid PlanId { get; set; } + public Plan Plan { get; set; } public Guid EmployeeId { get; set; } public DateTime StartDate { get; set; } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlanMaterial.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/PlanMaterial.cs similarity index 57% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlanMaterial.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/PlanMaterial.cs index 43671307..c9a18f41 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenancePlanMaterial.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/PlanMaterial.cs @@ -4,12 +4,12 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenancePlanMaterial : FullAuditedEntity, IMultiTenant +public class PlanMaterial : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } - public Guid MaintenancePlanId { get; set; } - public MaintenancePlan MaintenancePlan { get; set; } + public Guid PlanId { get; set; } + public Plan Plan { get; set; } public Guid MaterialId { get; set; } public decimal Quantity { get; set; } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workcenter.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workcenter.cs index 06d19de7..120afe62 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workcenter.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workcenter.cs @@ -35,7 +35,7 @@ public class Workcenter : FullAuditedEntity, IMultiTenant public ICollection Specifications { get; set; } public ICollection Operations { get; set; } - // public virtual ICollection MaintenancePlans { get; set; } - // public virtual ICollection WorkOrders { get; set; } + public virtual ICollection Plans { get; set; } + public virtual ICollection Workorders { get; set; } // public virtual ICollection DownTimeHistory { get; set; } } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorder.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workorder.cs similarity index 77% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorder.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workorder.cs index 04c2be59..4f99a4a6 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorder.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/Workorder.cs @@ -5,7 +5,7 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenanceWorkorder : FullAuditedEntity, IMultiTenant +public class Workorder : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } @@ -14,10 +14,10 @@ public class MaintenanceWorkorder : FullAuditedEntity, IMultiTenant public Workcenter Workcenter { get; set; } public Guid? PlanId { get; set; } - public MaintenancePlan Plan { get; set; } + public Plan Plan { get; set; } public Guid OrderTypeId { get; set; } //Preventive, Corrective, Emergency, Inspection, Calibration - public MaintenanceWorkorderType OrderType { get; set; } + public WorkorderType OrderType { get; set; } public string Priority { get; set; } //Low, Medium, High, Urgent public string Status { get; set; } //Created, Planned, Released, InProgress, OnHold, Completed, Cancelled @@ -37,6 +37,6 @@ public class MaintenanceWorkorder : FullAuditedEntity, IMultiTenant public string Notes { get; set; } public string CompletionNotes { get; set; } - public ICollection Materials { get; set; } - public ICollection Activities { get; set; } + public ICollection Materials { get; set; } + public ICollection Activities { get; set; } } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderActivity.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderActivity.cs similarity index 77% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderActivity.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderActivity.cs index 7db2d97a..f9037cb6 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderActivity.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderActivity.cs @@ -4,12 +4,12 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenanceWorkorderActivity : FullAuditedEntity, IMultiTenant +public class WorkorderActivity : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } public Guid WorkOrderId { get; set; } - public MaintenanceWorkorder WorkOrder { get; set; } + public Workorder WorkOrder { get; set; } public string ActivityDescription { get; set; } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderMaterial.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderMaterial.cs similarity index 76% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderMaterial.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderMaterial.cs index 14b24f85..f3e60a54 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderMaterial.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderMaterial.cs @@ -4,12 +4,12 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenanceWorkorderMaterial : FullAuditedEntity, IMultiTenant +public class WorkorderMaterial : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } public Guid WorkOrderId { get; set; } - public MaintenanceWorkorder WorkOrder { get; set; } + public Workorder WorkOrder { get; set; } public Guid MaterialId { get; set; } public Material Material { get; set; } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderStatus.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderStatus.cs similarity index 68% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderStatus.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderStatus.cs index c1792aac..26574965 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderStatus.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderStatus.cs @@ -5,7 +5,7 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenanceWorkorderStatus : FullAuditedEntity, IMultiTenant +public class WorkorderStatus : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } @@ -13,6 +13,6 @@ public class MaintenanceWorkorderStatus : FullAuditedEntity, IMultiTenant public string Description { get; set; } public bool IsActive { get; set; } - public ICollection Workorders { get; set; } + public ICollection Workorders { get; set; } } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderType.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderType.cs similarity index 70% rename from api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderType.cs rename to api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderType.cs index 51032355..2e0482b0 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/MaintenanceWorkorderType.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Maintenance/WorkorderType.cs @@ -5,7 +5,7 @@ using Volo.Abp.MultiTenancy; namespace Erp.Platform.Entities; -public class MaintenanceWorkorderType : FullAuditedEntity, IMultiTenant +public class WorkorderType : FullAuditedEntity, IMultiTenant { public Guid? TenantId { get; set; } @@ -14,6 +14,6 @@ public class MaintenanceWorkorderType : FullAuditedEntity, IMultiTenant public string Description { get; set; } public bool IsActive { get; set; } - public ICollection Workorders { get; set; } + public ICollection Workorders { get; set; } } diff --git a/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs b/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs index f8abed8c..ce5f2836 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs @@ -252,13 +252,13 @@ public class PlatformDbContext : public DbSet WorkcenterStatuses { get; set; } public DbSet Workcenters { get; set; } public DbSet WorkcenterSpecifications { get; set; } - public DbSet MaintenancePlans { get; set; } + public DbSet Plans { get; set; } public DbSet Faults { get; set; } public DbSet FaultStatuses { get; set; } public DbSet FaultTypes { get; set; } - public DbSet WorkorderTypes { get; set; } - public DbSet WorkorderStatuses { get; set; } - public DbSet Workorders { get; set; } + public DbSet WorkorderTypes { get; set; } + public DbSet WorkorderStatuses { get; set; } + public DbSet Workorders { get; set; } #endregion #region Mrp @@ -2824,7 +2824,7 @@ public class PlatformDbContext : .OnDelete(DeleteBehavior.Cascade); }); - builder.Entity(b => + builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Plan)), Prefix.DbSchema); b.ConfigureByConvention(); @@ -2840,36 +2840,41 @@ public class PlatformDbContext : b.Property(x => x.Instructions).IsRequired().HasMaxLength(2000); b.Property(x => x.RequiredSkillsJson).HasMaxLength(1000); b.Property(x => x.NextDue).IsRequired(); - b.Property(x => x.IsActive); + b.Property(x => x.IsActive).HasDefaultValue(true); b.Property(x => x.LastExecuted).IsRequired(); + + b.HasOne(x => x.Workcenter) + .WithMany(x => x.Plans) + .HasForeignKey(x => x.WorkcenterId) + .OnDelete(DeleteBehavior.Restrict); }); - builder.Entity(b => + builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.PlanMaterial)), Prefix.DbSchema); b.ConfigureByConvention(); - b.Property(x => x.MaintenancePlanId).IsRequired(); + b.Property(x => x.PlanId).IsRequired(); b.Property(x => x.MaterialId).IsRequired(); b.Property(x => x.Quantity).HasPrecision(18, 2).HasDefaultValue(0); - b.HasOne(x => x.MaintenancePlan) + b.HasOne(x => x.Plan) .WithMany(x => x.Materials) - .HasForeignKey(x => x.MaintenancePlanId) + .HasForeignKey(x => x.PlanId) .OnDelete(DeleteBehavior.Cascade); }); - builder.Entity(b => + builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.PlanEmployee)), Prefix.DbSchema); b.ConfigureByConvention(); - b.Property(x => x.MaintenancePlanId).IsRequired(); + b.Property(x => x.PlanId).IsRequired(); b.Property(x => x.EmployeeId).IsRequired(); - b.HasOne(x => x.MaintenancePlan) + b.HasOne(x => x.Plan) .WithMany(x => x.Employees) - .HasForeignKey(x => x.MaintenancePlanId) + .HasForeignKey(x => x.PlanId) .OnDelete(DeleteBehavior.Cascade); }); @@ -2913,7 +2918,7 @@ public class PlatformDbContext : b.Property(x => x.IsActive).HasDefaultValue(true); }); - builder.Entity(b => + builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.WorkorderType)), Prefix.DbSchema); b.ConfigureByConvention(); @@ -2923,7 +2928,7 @@ public class PlatformDbContext : b.Property(x => x.IsActive).HasDefaultValue(true); }); - builder.Entity(b => + builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.WorkorderStatus)), Prefix.DbSchema); b.ConfigureByConvention(); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202094339_Initial.Designer.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202124644_Initial.Designer.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202094339_Initial.Designer.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202124644_Initial.Designer.cs index b4dac517..60b53c00 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202094339_Initial.Designer.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202124644_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Erp.Platform.Migrations { [DbContext(typeof(PlatformDbContext))] - [Migration("20251202094339_Initial")] + [Migration("20251202124644_Initial")] partial class Initial { /// @@ -6974,579 +6974,6 @@ namespace Erp.Platform.Migrations b.ToTable("Crm_T_LossReason", (string)null); }); - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlan", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("EstimatedDuration") - .HasColumnType("int"); - - b.Property("Frequency") - .HasColumnType("int"); - - b.Property("FrequencyUnit") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("Instructions") - .IsRequired() - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IsActive") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastExecuted") - .HasColumnType("datetime2"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("NextDue") - .HasColumnType("datetime2"); - - b.Property("PlanType") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("Priority") - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("RequiredSkillsJson") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("WorkcenterId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("WorkcenterId"); - - b.ToTable("Mnt_T_Plan", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanEmployee", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("EmployeeId") - .HasColumnType("uniqueidentifier"); - - b.Property("EndDate") - .HasColumnType("datetime2"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaintenancePlanId") - .HasColumnType("uniqueidentifier"); - - b.Property("StartDate") - .HasColumnType("datetime2"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("MaintenancePlanId"); - - b.ToTable("Mnt_T_PlanEmployee", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanMaterial", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaintenancePlanId") - .HasColumnType("uniqueidentifier"); - - b.Property("MaterialId") - .HasColumnType("uniqueidentifier"); - - b.Property("Quantity") - .ValueGeneratedOnAdd() - .HasPrecision(18, 2) - .HasColumnType("decimal(18,2)") - .HasDefaultValue(0m); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("MaintenancePlanId"); - - b.ToTable("Mnt_T_PlanMaterial", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorder", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ActualCost") - .HasColumnType("int"); - - b.Property("ActualEnd") - .HasColumnType("datetime2"); - - b.Property("ActualStart") - .HasColumnType("datetime2"); - - b.Property("AssignedTo") - .HasColumnType("nvarchar(max)"); - - b.Property("CompletionNotes") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("EstimatedCost") - .HasColumnType("int"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaintenanceTeamId") - .HasColumnType("nvarchar(max)"); - - b.Property("MaintenanceWorkorderStatusId") - .HasColumnType("uniqueidentifier"); - - b.Property("Notes") - .HasColumnType("nvarchar(max)"); - - b.Property("OrderTypeId") - .HasColumnType("uniqueidentifier"); - - b.Property("PlanId") - .HasColumnType("uniqueidentifier"); - - b.Property("Priority") - .HasColumnType("nvarchar(max)"); - - b.Property("ScheduledEnd") - .HasColumnType("datetime2"); - - b.Property("ScheduledStart") - .HasColumnType("datetime2"); - - b.Property("Status") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("WorkcenterId") - .HasColumnType("uniqueidentifier"); - - b.Property("WorkorderNumber") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("MaintenanceWorkorderStatusId"); - - b.HasIndex("OrderTypeId"); - - b.HasIndex("PlanId"); - - b.HasIndex("WorkcenterId"); - - b.ToTable("Workorders"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderActivity", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ActivityDescription") - .HasColumnType("nvarchar(max)"); - - b.Property("ActualDuration") - .HasColumnType("int"); - - b.Property("CompletedAt") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Notes") - .HasColumnType("nvarchar(max)"); - - b.Property("PerformedBy") - .HasColumnType("nvarchar(max)"); - - b.Property("PlannedDuration") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("WorkOrderId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("WorkOrderId"); - - b.ToTable("MaintenanceWorkorderActivity"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderMaterial", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ActualQuantity") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaterialId") - .HasColumnType("uniqueidentifier"); - - b.Property("PlannedQuantity") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TotalCost") - .HasColumnType("int"); - - b.Property("UnitCost") - .HasColumnType("int"); - - b.Property("WorkOrderId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MaterialId"); - - b.HasIndex("WorkOrderId"); - - b.ToTable("MaintenanceWorkorderMaterial"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderStatus", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("nvarchar(500)"); - - b.Property("IsActive") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(true); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.ToTable("Mnt_T_WorkorderStatus", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderType", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("nvarchar(500)"); - - b.Property("IsActive") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(true); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.ToTable("Mnt_T_WorkorderType", (string)null); - }); - modelBuilder.Entity("Erp.Platform.Entities.Material", b => { b.Property("Id") @@ -9740,6 +9167,223 @@ namespace Erp.Platform.Migrations b.ToTable("Hr_T_Performance360", (string)null); }); + modelBuilder.Entity("Erp.Platform.Entities.Plan", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("EstimatedDuration") + .HasColumnType("int"); + + b.Property("Frequency") + .HasColumnType("int"); + + b.Property("FrequencyUnit") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Instructions") + .IsRequired() + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastExecuted") + .HasColumnType("datetime2"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("NextDue") + .HasColumnType("datetime2"); + + b.Property("PlanType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Priority") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RequiredSkillsJson") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("WorkcenterId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("WorkcenterId"); + + b.ToTable("Mnt_T_Plan", (string)null); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanEmployee", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeId") + .HasColumnType("uniqueidentifier"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PlanId") + .HasColumnType("uniqueidentifier"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("PlanId"); + + b.ToTable("Mnt_T_PlanEmployee", (string)null); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanMaterial", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialId") + .HasColumnType("uniqueidentifier"); + + b.Property("PlanId") + .HasColumnType("uniqueidentifier"); + + b.Property("Quantity") + .ValueGeneratedOnAdd() + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("PlanId"); + + b.ToTable("Mnt_T_PlanMaterial", (string)null); + }); + modelBuilder.Entity("Erp.Platform.Entities.Product", b => { b.Property("Id") @@ -14754,6 +14398,364 @@ namespace Erp.Platform.Migrations b.ToTable("Mnt_T_WorkcenterType", (string)null); }); + modelBuilder.Entity("Erp.Platform.Entities.Workorder", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActualCost") + .HasColumnType("int"); + + b.Property("ActualEnd") + .HasColumnType("datetime2"); + + b.Property("ActualStart") + .HasColumnType("datetime2"); + + b.Property("AssignedTo") + .HasColumnType("nvarchar(max)"); + + b.Property("CompletionNotes") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("EstimatedCost") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaintenanceTeamId") + .HasColumnType("nvarchar(max)"); + + b.Property("Notes") + .HasColumnType("nvarchar(max)"); + + b.Property("OrderTypeId") + .HasColumnType("uniqueidentifier"); + + b.Property("PlanId") + .HasColumnType("uniqueidentifier"); + + b.Property("Priority") + .HasColumnType("nvarchar(max)"); + + b.Property("ScheduledEnd") + .HasColumnType("datetime2"); + + b.Property("ScheduledStart") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("nvarchar(max)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("WorkcenterId") + .HasColumnType("uniqueidentifier"); + + b.Property("WorkorderNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkorderStatusId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("OrderTypeId"); + + b.HasIndex("PlanId"); + + b.HasIndex("WorkcenterId"); + + b.HasIndex("WorkorderStatusId"); + + b.ToTable("Workorders"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderActivity", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActivityDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("ActualDuration") + .HasColumnType("int"); + + b.Property("CompletedAt") + .HasColumnType("datetime2"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Notes") + .HasColumnType("nvarchar(max)"); + + b.Property("PerformedBy") + .HasColumnType("nvarchar(max)"); + + b.Property("PlannedDuration") + .HasColumnType("int"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("WorkOrderId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("WorkOrderId"); + + b.ToTable("WorkorderActivity"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderMaterial", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActualQuantity") + .HasColumnType("int"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialId") + .HasColumnType("uniqueidentifier"); + + b.Property("PlannedQuantity") + .HasColumnType("int"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TotalCost") + .HasColumnType("int"); + + b.Property("UnitCost") + .HasColumnType("int"); + + b.Property("WorkOrderId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("MaterialId"); + + b.HasIndex("WorkOrderId"); + + b.ToTable("WorkorderMaterial"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderStatus", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("Mnt_T_WorkorderStatus", (string)null); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("Mnt_T_WorkorderType", (string)null); + }); + modelBuilder.Entity("Erp.Platform.Entities.Zone", b => { b.Property("Id") @@ -17768,98 +17770,6 @@ namespace Erp.Platform.Migrations b.Navigation("Zone"); }); - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlan", b => - { - b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") - .WithMany() - .HasForeignKey("WorkcenterId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Workcenter"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanEmployee", b => - { - b.HasOne("Erp.Platform.Entities.MaintenancePlan", "MaintenancePlan") - .WithMany("Employees") - .HasForeignKey("MaintenancePlanId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("MaintenancePlan"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanMaterial", b => - { - b.HasOne("Erp.Platform.Entities.MaintenancePlan", "MaintenancePlan") - .WithMany("Materials") - .HasForeignKey("MaintenancePlanId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("MaintenancePlan"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorder", b => - { - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorderStatus", null) - .WithMany("Workorders") - .HasForeignKey("MaintenanceWorkorderStatusId"); - - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorderType", "OrderType") - .WithMany("Workorders") - .HasForeignKey("OrderTypeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Erp.Platform.Entities.MaintenancePlan", "Plan") - .WithMany() - .HasForeignKey("PlanId"); - - b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") - .WithMany() - .HasForeignKey("WorkcenterId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("OrderType"); - - b.Navigation("Plan"); - - b.Navigation("Workcenter"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderActivity", b => - { - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorder", "WorkOrder") - .WithMany("Activities") - .HasForeignKey("WorkOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("WorkOrder"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderMaterial", b => - { - b.HasOne("Erp.Platform.Entities.Material", "Material") - .WithMany() - .HasForeignKey("MaterialId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorder", "WorkOrder") - .WithMany("Materials") - .HasForeignKey("WorkOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Material"); - - b.Navigation("WorkOrder"); - }); - modelBuilder.Entity("Erp.Platform.Entities.Material", b => { b.HasOne("Erp.Platform.Entities.MaterialGroup", "MaterialGroup") @@ -18110,6 +18020,39 @@ namespace Erp.Platform.Migrations b.Navigation("Template"); }); + modelBuilder.Entity("Erp.Platform.Entities.Plan", b => + { + b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") + .WithMany("Plans") + .HasForeignKey("WorkcenterId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Workcenter"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanEmployee", b => + { + b.HasOne("Erp.Platform.Entities.Plan", "Plan") + .WithMany("Employees") + .HasForeignKey("PlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Plan"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanMaterial", b => + { + b.HasOne("Erp.Platform.Entities.Plan", "Plan") + .WithMany("Materials") + .HasForeignKey("PlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Plan"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Project", b => { b.HasOne("Erp.Platform.Entities.Partner", "Customer") @@ -18775,6 +18718,65 @@ namespace Erp.Platform.Migrations b.Navigation("Workcenter"); }); + modelBuilder.Entity("Erp.Platform.Entities.Workorder", b => + { + b.HasOne("Erp.Platform.Entities.WorkorderType", "OrderType") + .WithMany("Workorders") + .HasForeignKey("OrderTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Erp.Platform.Entities.Plan", "Plan") + .WithMany() + .HasForeignKey("PlanId"); + + b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") + .WithMany("Workorders") + .HasForeignKey("WorkcenterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Erp.Platform.Entities.WorkorderStatus", null) + .WithMany("Workorders") + .HasForeignKey("WorkorderStatusId"); + + b.Navigation("OrderType"); + + b.Navigation("Plan"); + + b.Navigation("Workcenter"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderActivity", b => + { + b.HasOne("Erp.Platform.Entities.Workorder", "WorkOrder") + .WithMany("Activities") + .HasForeignKey("WorkOrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkOrder"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderMaterial", b => + { + b.HasOne("Erp.Platform.Entities.Material", "Material") + .WithMany() + .HasForeignKey("MaterialId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Erp.Platform.Entities.Workorder", "WorkOrder") + .WithMany("Materials") + .HasForeignKey("WorkOrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Material"); + + b.Navigation("WorkOrder"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Zone", b => { b.HasOne("Erp.Platform.Entities.Warehouse", "Warehouse") @@ -19172,30 +19174,6 @@ namespace Erp.Platform.Migrations b.Navigation("Opportunities"); }); - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlan", b => - { - b.Navigation("Employees"); - - b.Navigation("Materials"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorder", b => - { - b.Navigation("Activities"); - - b.Navigation("Materials"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderStatus", b => - { - b.Navigation("Workorders"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderType", b => - { - b.Navigation("Workorders"); - }); - modelBuilder.Entity("Erp.Platform.Entities.Material", b => { b.Navigation("BomComponents"); @@ -19272,6 +19250,13 @@ namespace Erp.Platform.Migrations b.Navigation("Items"); }); + modelBuilder.Entity("Erp.Platform.Entities.Plan", b => + { + b.Navigation("Employees"); + + b.Navigation("Materials"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Project", b => { b.Navigation("Phases"); @@ -19469,7 +19454,11 @@ namespace Erp.Platform.Migrations { b.Navigation("Operations"); + b.Navigation("Plans"); + b.Navigation("Specifications"); + + b.Navigation("Workorders"); }); modelBuilder.Entity("Erp.Platform.Entities.WorkcenterStatus", b => @@ -19482,6 +19471,23 @@ namespace Erp.Platform.Migrations b.Navigation("Workcenters"); }); + modelBuilder.Entity("Erp.Platform.Entities.Workorder", b => + { + b.Navigation("Activities"); + + b.Navigation("Materials"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderStatus", b => + { + b.Navigation("Workorders"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderType", b => + { + b.Navigation("Workorders"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Zone", b => { b.Navigation("Locations"); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202094339_Initial.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202124644_Initial.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202094339_Initial.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202124644_Initial.cs index 719ecd61..cc64fb19 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202094339_Initial.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251202124644_Initial.cs @@ -5581,7 +5581,7 @@ namespace Erp.Platform.Migrations EstimatedDuration = table.Column(type: "int", nullable: false), Instructions = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false), NextDue = table.Column(type: "datetime2", nullable: false), - IsActive = table.Column(type: "bit", nullable: false), + IsActive = table.Column(type: "bit", nullable: false, defaultValue: true), LastExecuted = table.Column(type: "datetime2", nullable: false), RequiredSkillsJson = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), @@ -5600,7 +5600,7 @@ namespace Erp.Platform.Migrations column: x => x.WorkcenterId, principalTable: "Mnt_T_Workcenter", principalColumn: "Id", - onDelete: ReferentialAction.Cascade); + onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( @@ -6261,7 +6261,7 @@ namespace Erp.Platform.Migrations { Id = table.Column(type: "uniqueidentifier", nullable: false), TenantId = table.Column(type: "uniqueidentifier", nullable: true), - MaintenancePlanId = table.Column(type: "uniqueidentifier", nullable: false), + PlanId = table.Column(type: "uniqueidentifier", nullable: false), EmployeeId = table.Column(type: "uniqueidentifier", nullable: false), StartDate = table.Column(type: "datetime2", nullable: false), EndDate = table.Column(type: "datetime2", nullable: false), @@ -6278,8 +6278,8 @@ namespace Erp.Platform.Migrations { table.PrimaryKey("PK_Mnt_T_PlanEmployee", x => x.Id); table.ForeignKey( - name: "FK_Mnt_T_PlanEmployee_Mnt_T_Plan_MaintenancePlanId", - column: x => x.MaintenancePlanId, + name: "FK_Mnt_T_PlanEmployee_Mnt_T_Plan_PlanId", + column: x => x.PlanId, principalTable: "Mnt_T_Plan", principalColumn: "Id", onDelete: ReferentialAction.Cascade); @@ -6291,7 +6291,7 @@ namespace Erp.Platform.Migrations { Id = table.Column(type: "uniqueidentifier", nullable: false), TenantId = table.Column(type: "uniqueidentifier", nullable: true), - MaintenancePlanId = table.Column(type: "uniqueidentifier", nullable: false), + PlanId = table.Column(type: "uniqueidentifier", nullable: false), MaterialId = table.Column(type: "uniqueidentifier", nullable: false), Quantity = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m), CreationTime = table.Column(type: "datetime2", nullable: false), @@ -6306,8 +6306,8 @@ namespace Erp.Platform.Migrations { table.PrimaryKey("PK_Mnt_T_PlanMaterial", x => x.Id); table.ForeignKey( - name: "FK_Mnt_T_PlanMaterial_Mnt_T_Plan_MaintenancePlanId", - column: x => x.MaintenancePlanId, + name: "FK_Mnt_T_PlanMaterial_Mnt_T_Plan_PlanId", + column: x => x.PlanId, principalTable: "Mnt_T_Plan", principalColumn: "Id", onDelete: ReferentialAction.Cascade); @@ -6336,7 +6336,7 @@ namespace Erp.Platform.Migrations ActualCost = table.Column(type: "int", nullable: false), Notes = table.Column(type: "nvarchar(max)", nullable: true), CompletionNotes = table.Column(type: "nvarchar(max)", nullable: true), - MaintenanceWorkorderStatusId = table.Column(type: "uniqueidentifier", nullable: true), + WorkorderStatusId = table.Column(type: "uniqueidentifier", nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), CreatorId = table.Column(type: "uniqueidentifier", nullable: true), LastModificationTime = table.Column(type: "datetime2", nullable: true), @@ -6360,8 +6360,8 @@ namespace Erp.Platform.Migrations principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( - name: "FK_Workorders_Mnt_T_WorkorderStatus_MaintenanceWorkorderStatusId", - column: x => x.MaintenanceWorkorderStatusId, + name: "FK_Workorders_Mnt_T_WorkorderStatus_WorkorderStatusId", + column: x => x.WorkorderStatusId, principalTable: "Mnt_T_WorkorderStatus", principalColumn: "Id"); table.ForeignKey( @@ -6807,7 +6807,7 @@ namespace Erp.Platform.Migrations }); migrationBuilder.CreateTable( - name: "MaintenanceWorkorderActivity", + name: "WorkorderActivity", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), @@ -6829,9 +6829,9 @@ namespace Erp.Platform.Migrations }, constraints: table => { - table.PrimaryKey("PK_MaintenanceWorkorderActivity", x => x.Id); + table.PrimaryKey("PK_WorkorderActivity", x => x.Id); table.ForeignKey( - name: "FK_MaintenanceWorkorderActivity_Workorders_WorkOrderId", + name: "FK_WorkorderActivity_Workorders_WorkOrderId", column: x => x.WorkOrderId, principalTable: "Workorders", principalColumn: "Id", @@ -6839,7 +6839,7 @@ namespace Erp.Platform.Migrations }); migrationBuilder.CreateTable( - name: "MaintenanceWorkorderMaterial", + name: "WorkorderMaterial", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), @@ -6860,15 +6860,15 @@ namespace Erp.Platform.Migrations }, constraints: table => { - table.PrimaryKey("PK_MaintenanceWorkorderMaterial", x => x.Id); + table.PrimaryKey("PK_WorkorderMaterial", x => x.Id); table.ForeignKey( - name: "FK_MaintenanceWorkorderMaterial_Scp_T_Material_MaterialId", + name: "FK_WorkorderMaterial_Scp_T_Material_MaterialId", column: x => x.MaterialId, principalTable: "Scp_T_Material", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( - name: "FK_MaintenanceWorkorderMaterial_Workorders_WorkOrderId", + name: "FK_WorkorderMaterial_Workorders_WorkOrderId", column: x => x.WorkOrderId, principalTable: "Workorders", principalColumn: "Id", @@ -7879,21 +7879,6 @@ namespace Erp.Platform.Migrations table: "Hr_T_SurveyResponse", column: "SurveyId"); - migrationBuilder.CreateIndex( - name: "IX_MaintenanceWorkorderActivity_WorkOrderId", - table: "MaintenanceWorkorderActivity", - column: "WorkOrderId"); - - migrationBuilder.CreateIndex( - name: "IX_MaintenanceWorkorderMaterial_MaterialId", - table: "MaintenanceWorkorderMaterial", - column: "MaterialId"); - - migrationBuilder.CreateIndex( - name: "IX_MaintenanceWorkorderMaterial_WorkOrderId", - table: "MaintenanceWorkorderMaterial", - column: "WorkOrderId"); - migrationBuilder.CreateIndex( name: "IX_MaterialUom_MaterialsId", table: "MaterialUom", @@ -7920,14 +7905,14 @@ namespace Erp.Platform.Migrations column: "WorkcenterId"); migrationBuilder.CreateIndex( - name: "IX_Mnt_T_PlanEmployee_MaintenancePlanId", + name: "IX_Mnt_T_PlanEmployee_PlanId", table: "Mnt_T_PlanEmployee", - column: "MaintenancePlanId"); + column: "PlanId"); migrationBuilder.CreateIndex( - name: "IX_Mnt_T_PlanMaterial_MaintenancePlanId", + name: "IX_Mnt_T_PlanMaterial_PlanId", table: "Mnt_T_PlanMaterial", - column: "MaintenancePlanId"); + column: "PlanId"); migrationBuilder.CreateIndex( name: "IX_Mnt_T_Workcenter_DepartmentId", @@ -8571,9 +8556,19 @@ namespace Erp.Platform.Migrations column: "ZoneTypeId"); migrationBuilder.CreateIndex( - name: "IX_Workorders_MaintenanceWorkorderStatusId", - table: "Workorders", - column: "MaintenanceWorkorderStatusId"); + name: "IX_WorkorderActivity_WorkOrderId", + table: "WorkorderActivity", + column: "WorkOrderId"); + + migrationBuilder.CreateIndex( + name: "IX_WorkorderMaterial_MaterialId", + table: "WorkorderMaterial", + column: "MaterialId"); + + migrationBuilder.CreateIndex( + name: "IX_WorkorderMaterial_WorkOrderId", + table: "WorkorderMaterial", + column: "WorkOrderId"); migrationBuilder.CreateIndex( name: "IX_Workorders_OrderTypeId", @@ -8590,6 +8585,11 @@ namespace Erp.Platform.Migrations table: "Workorders", column: "WorkcenterId"); + migrationBuilder.CreateIndex( + name: "IX_Workorders_WorkorderStatusId", + table: "Workorders", + column: "WorkorderStatusId"); + migrationBuilder.AddForeignKey( name: "FK_Acc_T_CurrentAccount_Adm_T_Partner_PartnerId", table: "Acc_T_CurrentAccount", @@ -8912,12 +8912,6 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Hr_T_SurveyQuestionOption"); - migrationBuilder.DropTable( - name: "MaintenanceWorkorderActivity"); - - migrationBuilder.DropTable( - name: "MaintenanceWorkorderMaterial"); - migrationBuilder.DropTable( name: "MaterialUom"); @@ -9113,6 +9107,12 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Str_T_PutawayCondition"); + migrationBuilder.DropTable( + name: "WorkorderActivity"); + + migrationBuilder.DropTable( + name: "WorkorderMaterial"); + migrationBuilder.DropTable( name: "AbpEntityChanges"); @@ -9164,9 +9164,6 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Hr_T_SurveyQuestion"); - migrationBuilder.DropTable( - name: "Workorders"); - migrationBuilder.DropTable( name: "Mnt_T_FaultStatus"); @@ -9245,6 +9242,9 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Str_T_Putaway"); + migrationBuilder.DropTable( + name: "Workorders"); + migrationBuilder.DropTable( name: "AbpAuditLogs"); @@ -9263,15 +9263,6 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Hr_T_Survey"); - migrationBuilder.DropTable( - name: "Mnt_T_Plan"); - - migrationBuilder.DropTable( - name: "Mnt_T_WorkorderStatus"); - - migrationBuilder.DropTable( - name: "Mnt_T_WorkorderType"); - migrationBuilder.DropTable( name: "Mrp_T_BomType"); @@ -9327,10 +9318,16 @@ namespace Erp.Platform.Migrations name: "Str_T_ZoneType"); migrationBuilder.DropTable( - name: "Sas_T_Branch"); + name: "Mnt_T_Plan"); migrationBuilder.DropTable( - name: "Mnt_T_Workcenter"); + name: "Mnt_T_WorkorderStatus"); + + migrationBuilder.DropTable( + name: "Mnt_T_WorkorderType"); + + migrationBuilder.DropTable( + name: "Sas_T_Branch"); migrationBuilder.DropTable( name: "Mrp_T_OperationCategory"); @@ -9341,6 +9338,9 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Str_T_WarehouseType"); + migrationBuilder.DropTable( + name: "Mnt_T_Workcenter"); + migrationBuilder.DropTable( name: "Mnt_T_WorkcenterStatus"); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs index 3c8e7055..74d02369 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs @@ -6971,579 +6971,6 @@ namespace Erp.Platform.Migrations b.ToTable("Crm_T_LossReason", (string)null); }); - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlan", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("EstimatedDuration") - .HasColumnType("int"); - - b.Property("Frequency") - .HasColumnType("int"); - - b.Property("FrequencyUnit") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("Instructions") - .IsRequired() - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IsActive") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastExecuted") - .HasColumnType("datetime2"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("NextDue") - .HasColumnType("datetime2"); - - b.Property("PlanType") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("Priority") - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("RequiredSkillsJson") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("WorkcenterId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("WorkcenterId"); - - b.ToTable("Mnt_T_Plan", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanEmployee", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("EmployeeId") - .HasColumnType("uniqueidentifier"); - - b.Property("EndDate") - .HasColumnType("datetime2"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaintenancePlanId") - .HasColumnType("uniqueidentifier"); - - b.Property("StartDate") - .HasColumnType("datetime2"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("MaintenancePlanId"); - - b.ToTable("Mnt_T_PlanEmployee", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanMaterial", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaintenancePlanId") - .HasColumnType("uniqueidentifier"); - - b.Property("MaterialId") - .HasColumnType("uniqueidentifier"); - - b.Property("Quantity") - .ValueGeneratedOnAdd() - .HasPrecision(18, 2) - .HasColumnType("decimal(18,2)") - .HasDefaultValue(0m); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("MaintenancePlanId"); - - b.ToTable("Mnt_T_PlanMaterial", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorder", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ActualCost") - .HasColumnType("int"); - - b.Property("ActualEnd") - .HasColumnType("datetime2"); - - b.Property("ActualStart") - .HasColumnType("datetime2"); - - b.Property("AssignedTo") - .HasColumnType("nvarchar(max)"); - - b.Property("CompletionNotes") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("EstimatedCost") - .HasColumnType("int"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaintenanceTeamId") - .HasColumnType("nvarchar(max)"); - - b.Property("MaintenanceWorkorderStatusId") - .HasColumnType("uniqueidentifier"); - - b.Property("Notes") - .HasColumnType("nvarchar(max)"); - - b.Property("OrderTypeId") - .HasColumnType("uniqueidentifier"); - - b.Property("PlanId") - .HasColumnType("uniqueidentifier"); - - b.Property("Priority") - .HasColumnType("nvarchar(max)"); - - b.Property("ScheduledEnd") - .HasColumnType("datetime2"); - - b.Property("ScheduledStart") - .HasColumnType("datetime2"); - - b.Property("Status") - .HasColumnType("nvarchar(max)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("WorkcenterId") - .HasColumnType("uniqueidentifier"); - - b.Property("WorkorderNumber") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("MaintenanceWorkorderStatusId"); - - b.HasIndex("OrderTypeId"); - - b.HasIndex("PlanId"); - - b.HasIndex("WorkcenterId"); - - b.ToTable("Workorders"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderActivity", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ActivityDescription") - .HasColumnType("nvarchar(max)"); - - b.Property("ActualDuration") - .HasColumnType("int"); - - b.Property("CompletedAt") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Notes") - .HasColumnType("nvarchar(max)"); - - b.Property("PerformedBy") - .HasColumnType("nvarchar(max)"); - - b.Property("PlannedDuration") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("WorkOrderId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("WorkOrderId"); - - b.ToTable("MaintenanceWorkorderActivity"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderMaterial", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ActualQuantity") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaterialId") - .HasColumnType("uniqueidentifier"); - - b.Property("PlannedQuantity") - .HasColumnType("int"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TotalCost") - .HasColumnType("int"); - - b.Property("UnitCost") - .HasColumnType("int"); - - b.Property("WorkOrderId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MaterialId"); - - b.HasIndex("WorkOrderId"); - - b.ToTable("MaintenanceWorkorderMaterial"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderStatus", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("nvarchar(500)"); - - b.Property("IsActive") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(true); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.ToTable("Mnt_T_WorkorderStatus", (string)null); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderType", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("nvarchar(500)"); - - b.Property("IsActive") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(true); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.ToTable("Mnt_T_WorkorderType", (string)null); - }); - modelBuilder.Entity("Erp.Platform.Entities.Material", b => { b.Property("Id") @@ -9737,6 +9164,223 @@ namespace Erp.Platform.Migrations b.ToTable("Hr_T_Performance360", (string)null); }); + modelBuilder.Entity("Erp.Platform.Entities.Plan", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("EstimatedDuration") + .HasColumnType("int"); + + b.Property("Frequency") + .HasColumnType("int"); + + b.Property("FrequencyUnit") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Instructions") + .IsRequired() + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastExecuted") + .HasColumnType("datetime2"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("NextDue") + .HasColumnType("datetime2"); + + b.Property("PlanType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Priority") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RequiredSkillsJson") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("WorkcenterId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("WorkcenterId"); + + b.ToTable("Mnt_T_Plan", (string)null); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanEmployee", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeId") + .HasColumnType("uniqueidentifier"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("PlanId") + .HasColumnType("uniqueidentifier"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("PlanId"); + + b.ToTable("Mnt_T_PlanEmployee", (string)null); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanMaterial", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialId") + .HasColumnType("uniqueidentifier"); + + b.Property("PlanId") + .HasColumnType("uniqueidentifier"); + + b.Property("Quantity") + .ValueGeneratedOnAdd() + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("PlanId"); + + b.ToTable("Mnt_T_PlanMaterial", (string)null); + }); + modelBuilder.Entity("Erp.Platform.Entities.Product", b => { b.Property("Id") @@ -14751,6 +14395,364 @@ namespace Erp.Platform.Migrations b.ToTable("Mnt_T_WorkcenterType", (string)null); }); + modelBuilder.Entity("Erp.Platform.Entities.Workorder", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActualCost") + .HasColumnType("int"); + + b.Property("ActualEnd") + .HasColumnType("datetime2"); + + b.Property("ActualStart") + .HasColumnType("datetime2"); + + b.Property("AssignedTo") + .HasColumnType("nvarchar(max)"); + + b.Property("CompletionNotes") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("EstimatedCost") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaintenanceTeamId") + .HasColumnType("nvarchar(max)"); + + b.Property("Notes") + .HasColumnType("nvarchar(max)"); + + b.Property("OrderTypeId") + .HasColumnType("uniqueidentifier"); + + b.Property("PlanId") + .HasColumnType("uniqueidentifier"); + + b.Property("Priority") + .HasColumnType("nvarchar(max)"); + + b.Property("ScheduledEnd") + .HasColumnType("datetime2"); + + b.Property("ScheduledStart") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("nvarchar(max)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("WorkcenterId") + .HasColumnType("uniqueidentifier"); + + b.Property("WorkorderNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkorderStatusId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("OrderTypeId"); + + b.HasIndex("PlanId"); + + b.HasIndex("WorkcenterId"); + + b.HasIndex("WorkorderStatusId"); + + b.ToTable("Workorders"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderActivity", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActivityDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("ActualDuration") + .HasColumnType("int"); + + b.Property("CompletedAt") + .HasColumnType("datetime2"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Notes") + .HasColumnType("nvarchar(max)"); + + b.Property("PerformedBy") + .HasColumnType("nvarchar(max)"); + + b.Property("PlannedDuration") + .HasColumnType("int"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("WorkOrderId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("WorkOrderId"); + + b.ToTable("WorkorderActivity"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderMaterial", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ActualQuantity") + .HasColumnType("int"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialId") + .HasColumnType("uniqueidentifier"); + + b.Property("PlannedQuantity") + .HasColumnType("int"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TotalCost") + .HasColumnType("int"); + + b.Property("UnitCost") + .HasColumnType("int"); + + b.Property("WorkOrderId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("MaterialId"); + + b.HasIndex("WorkOrderId"); + + b.ToTable("WorkorderMaterial"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderStatus", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("Mnt_T_WorkorderStatus", (string)null); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("Mnt_T_WorkorderType", (string)null); + }); + modelBuilder.Entity("Erp.Platform.Entities.Zone", b => { b.Property("Id") @@ -17765,98 +17767,6 @@ namespace Erp.Platform.Migrations b.Navigation("Zone"); }); - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlan", b => - { - b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") - .WithMany() - .HasForeignKey("WorkcenterId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Workcenter"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanEmployee", b => - { - b.HasOne("Erp.Platform.Entities.MaintenancePlan", "MaintenancePlan") - .WithMany("Employees") - .HasForeignKey("MaintenancePlanId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("MaintenancePlan"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlanMaterial", b => - { - b.HasOne("Erp.Platform.Entities.MaintenancePlan", "MaintenancePlan") - .WithMany("Materials") - .HasForeignKey("MaintenancePlanId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("MaintenancePlan"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorder", b => - { - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorderStatus", null) - .WithMany("Workorders") - .HasForeignKey("MaintenanceWorkorderStatusId"); - - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorderType", "OrderType") - .WithMany("Workorders") - .HasForeignKey("OrderTypeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Erp.Platform.Entities.MaintenancePlan", "Plan") - .WithMany() - .HasForeignKey("PlanId"); - - b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") - .WithMany() - .HasForeignKey("WorkcenterId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("OrderType"); - - b.Navigation("Plan"); - - b.Navigation("Workcenter"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderActivity", b => - { - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorder", "WorkOrder") - .WithMany("Activities") - .HasForeignKey("WorkOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("WorkOrder"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderMaterial", b => - { - b.HasOne("Erp.Platform.Entities.Material", "Material") - .WithMany() - .HasForeignKey("MaterialId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Erp.Platform.Entities.MaintenanceWorkorder", "WorkOrder") - .WithMany("Materials") - .HasForeignKey("WorkOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Material"); - - b.Navigation("WorkOrder"); - }); - modelBuilder.Entity("Erp.Platform.Entities.Material", b => { b.HasOne("Erp.Platform.Entities.MaterialGroup", "MaterialGroup") @@ -18107,6 +18017,39 @@ namespace Erp.Platform.Migrations b.Navigation("Template"); }); + modelBuilder.Entity("Erp.Platform.Entities.Plan", b => + { + b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") + .WithMany("Plans") + .HasForeignKey("WorkcenterId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Workcenter"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanEmployee", b => + { + b.HasOne("Erp.Platform.Entities.Plan", "Plan") + .WithMany("Employees") + .HasForeignKey("PlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Plan"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.PlanMaterial", b => + { + b.HasOne("Erp.Platform.Entities.Plan", "Plan") + .WithMany("Materials") + .HasForeignKey("PlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Plan"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Project", b => { b.HasOne("Erp.Platform.Entities.Partner", "Customer") @@ -18772,6 +18715,65 @@ namespace Erp.Platform.Migrations b.Navigation("Workcenter"); }); + modelBuilder.Entity("Erp.Platform.Entities.Workorder", b => + { + b.HasOne("Erp.Platform.Entities.WorkorderType", "OrderType") + .WithMany("Workorders") + .HasForeignKey("OrderTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Erp.Platform.Entities.Plan", "Plan") + .WithMany() + .HasForeignKey("PlanId"); + + b.HasOne("Erp.Platform.Entities.Workcenter", "Workcenter") + .WithMany("Workorders") + .HasForeignKey("WorkcenterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Erp.Platform.Entities.WorkorderStatus", null) + .WithMany("Workorders") + .HasForeignKey("WorkorderStatusId"); + + b.Navigation("OrderType"); + + b.Navigation("Plan"); + + b.Navigation("Workcenter"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderActivity", b => + { + b.HasOne("Erp.Platform.Entities.Workorder", "WorkOrder") + .WithMany("Activities") + .HasForeignKey("WorkOrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkOrder"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderMaterial", b => + { + b.HasOne("Erp.Platform.Entities.Material", "Material") + .WithMany() + .HasForeignKey("MaterialId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Erp.Platform.Entities.Workorder", "WorkOrder") + .WithMany("Materials") + .HasForeignKey("WorkOrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Material"); + + b.Navigation("WorkOrder"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Zone", b => { b.HasOne("Erp.Platform.Entities.Warehouse", "Warehouse") @@ -19169,30 +19171,6 @@ namespace Erp.Platform.Migrations b.Navigation("Opportunities"); }); - modelBuilder.Entity("Erp.Platform.Entities.MaintenancePlan", b => - { - b.Navigation("Employees"); - - b.Navigation("Materials"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorder", b => - { - b.Navigation("Activities"); - - b.Navigation("Materials"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderStatus", b => - { - b.Navigation("Workorders"); - }); - - modelBuilder.Entity("Erp.Platform.Entities.MaintenanceWorkorderType", b => - { - b.Navigation("Workorders"); - }); - modelBuilder.Entity("Erp.Platform.Entities.Material", b => { b.Navigation("BomComponents"); @@ -19269,6 +19247,13 @@ namespace Erp.Platform.Migrations b.Navigation("Items"); }); + modelBuilder.Entity("Erp.Platform.Entities.Plan", b => + { + b.Navigation("Employees"); + + b.Navigation("Materials"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Project", b => { b.Navigation("Phases"); @@ -19466,7 +19451,11 @@ namespace Erp.Platform.Migrations { b.Navigation("Operations"); + b.Navigation("Plans"); + b.Navigation("Specifications"); + + b.Navigation("Workorders"); }); modelBuilder.Entity("Erp.Platform.Entities.WorkcenterStatus", b => @@ -19479,6 +19468,23 @@ namespace Erp.Platform.Migrations b.Navigation("Workcenters"); }); + modelBuilder.Entity("Erp.Platform.Entities.Workorder", b => + { + b.Navigation("Activities"); + + b.Navigation("Materials"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderStatus", b => + { + b.Navigation("Workorders"); + }); + + modelBuilder.Entity("Erp.Platform.Entities.WorkorderType", b => + { + b.Navigation("Workorders"); + }); + modelBuilder.Entity("Erp.Platform.Entities.Zone", b => { b.Navigation("Locations"); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs index dcc2250e..88bfae90 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs @@ -108,12 +108,12 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency private readonly IRepository _workcenterTypeRepository; private readonly IRepository _workcenterStatusRepository; private readonly IRepository _workcenterRepository; - private readonly IRepository _maintenancePlanRepository; + private readonly IRepository _maintenancePlanRepository; private readonly IRepository _faultRepository; private readonly IRepository _faultStatusRepository; private readonly IRepository _faultTypeRepository; - private readonly IRepository _workorderTypeRepository; - private readonly IRepository _workorderStatusRepository; + private readonly IRepository _workorderTypeRepository; + private readonly IRepository _workorderStatusRepository; private readonly IRepository _warehouseTypeRepository; private readonly IRepository _warehouseRepository; private readonly IRepository _zoneTypeRepository; @@ -230,12 +230,12 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency IRepository workcenterTypeRepository, IRepository workcenterStatusRepository, IRepository workcenterRepository, - IRepository maintenancePlanRepository, + IRepository maintenancePlanRepository, IRepository faultRepository, IRepository faultStatusRepository, IRepository faultTypeRepository, - IRepository workorderTypeRepository, - IRepository workorderStatusRepository, + IRepository workorderTypeRepository, + IRepository workorderStatusRepository, IRepository warehouseTypeRepository, IRepository warehouseRepository, IRepository zoneTypeRepository, @@ -2072,7 +2072,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency var workcenter = await _workcenterRepository.FirstOrDefaultAsync(x => x.Code == item.WorkCenterCode); - await _maintenancePlanRepository.InsertAsync(new MaintenancePlan + await _maintenancePlanRepository.InsertAsync(new Plan { Code = item.Code, WorkcenterId = workcenter?.Id, @@ -2153,7 +2153,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency if (exists) continue; - await _workorderTypeRepository.InsertAsync(new MaintenanceWorkorderType + await _workorderTypeRepository.InsertAsync(new WorkorderType { Name = item.Name, Description = item.Description, @@ -2167,7 +2167,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency if (exists) continue; - await _workorderStatusRepository.InsertAsync(new MaintenanceWorkorderStatus + await _workorderStatusRepository.InsertAsync(new WorkorderStatus { Name = item.Name, Description = item.Description, diff --git a/ui/src/views/maintenance/components/AssignWorkOrderModal.tsx b/ui/src/views/maintenance/components/AssignWorkOrderModal.tsx index 1777a320..f7b0b2cc 100644 --- a/ui/src/views/maintenance/components/AssignWorkOrderModal.tsx +++ b/ui/src/views/maintenance/components/AssignWorkOrderModal.tsx @@ -22,7 +22,6 @@ const AssignWorkOrderModal: React.FC = ({ if (!isOpen) return null - // Get available maintenance plans const availablePlans = mockMaintenancePlans.filter((plan) => plan.isActive) const handleBulkPlanChange = (planId: string) => { diff --git a/ui/src/views/maintenance/components/ViewWorkCenterModal.tsx b/ui/src/views/maintenance/components/ViewWorkCenterModal.tsx index c1ce7672..3e73707c 100644 --- a/ui/src/views/maintenance/components/ViewWorkCenterModal.tsx +++ b/ui/src/views/maintenance/components/ViewWorkCenterModal.tsx @@ -144,13 +144,7 @@ const ViewWorkCenterModal: React.FC = ({
İş Merkezi Tipi: - {workCenter.workCenterType?.name || '-'} - -
-
- Kategori: - - {workCenter.workCenterType?.category || '-'} + {workCenter.name || '-'}
@@ -257,7 +251,7 @@ const ViewWorkCenterModal: React.FC = ({ )} - {/* Maintenance Plans Summary */} + {/* Summary */}

Bakım Planları

diff --git a/ui/src/views/maintenance/components/WorkCenterCards.tsx b/ui/src/views/maintenance/components/WorkCenterCards.tsx index 62ea6bb9..c65ec206 100644 --- a/ui/src/views/maintenance/components/WorkCenterCards.tsx +++ b/ui/src/views/maintenance/components/WorkCenterCards.tsx @@ -350,7 +350,7 @@ const WorkCenterCards: React.FC = () => { > {getCriticalityLevelText(workCenter.criticality)} Kritiklik - {workCenter.workCenterType?.name} + {workCenter?.name}
{workCenter.warrantyExpiry && (