using CMS.Plugin.MyExtension.Domain; using CMS.Plugin.PipeLineLems.Domain; using CMS.Plugin.PipeLineLems.Domain.Shared.MyTestEntityNames; using CMS.Plugin.PipeLineLems.Domain.WorkPlan; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.EntityFrameworkCore.Modeling; namespace CMS.Plugin.PipeLineLems.EntityFrameworkCore.Extensions; /// /// EfCore扩展 /// public static partial class CMSPluginEfCoreExtensions { /// /// Includes the details. /// /// The queryable. /// if set to true [include]. /// public static IQueryable IncludeDetails(this IQueryable queryable, bool include = true) { if (!include) { return queryable; } return queryable; } /// /// Configures the mytestentityname. /// /// The builder. public static void ConfigureWorkPlan(this ModelBuilder builder) { Check.NotNull(builder, nameof(builder)); builder.Entity(b => { //Configure table & schema name b.ToTable((CMSPluginDbProperties.DbTablePrefix + "_WorkPlans").ToLower(), CMSPluginDbProperties.DbSchema).HasComment("作业计划表"); b.ConfigureByConvention(); // Configure properties b.Property(x => x.TaskCode).HasMaxLength(256).IsRequired().HasComment("任务编码"); b.Property(x => x.WorkPlanStatus).IsRequired().HasComment("计划状态"); b.Property(x => x.CallMaterialStatus).IsRequired().HasComment("叫料状态"); b.Property(x => x.DataIdentifier).HasMaxLength(256).HasComment("原料标识"); b.Property(x => x.MaterialMode).HasMaxLength(256).HasComment("原料型号"); b.Property(x => x.Length).HasColumnType("decimal(18,2)").HasComment("长度(mm)"); b.Property(x => x.MarkingContent).HasMaxLength(1024).HasComment("打码内容"); b.Property(x => x.Quantity).HasComment("管段数量"); b.Property(x => x.FlangeThickness).HasColumnType("decimal(18,2)").HasComment("法兰厚度(mm)"); b.Property(x => x.FlangeInnerDiameter).HasColumnType("decimal(18,2)").HasComment("法兰直径(mm)"); b.Property(x => x.WeldingHeatInput).HasMaxLength(256).HasComment("法兰公称压力"); b.Property(x => x.PipeAllowableStress).HasMaxLength(256).HasComment("法兰冲码内容"); b.Property(x => x.PipeDiameter).HasColumnType("decimal(18,2)").HasComment("套管长度(mm)"); b.Property(x => x.PipeWallThickness).HasColumnType("decimal(18,2)").HasComment("套管直径(mm)"); b.Property(x => x.FactoryCode).HasMaxLength(256).HasComment("工厂代码"); b.Property(x => x.ProductCode).HasMaxLength(256).HasComment("产品代码"); b.Property(x => x.WorkstationCode).HasMaxLength(256).HasComment("工位代码"); b.Property(x => x.EquipmentCode).HasMaxLength(256).HasComment("设备代码"); b.Property(x => x.ProdLineCode).HasMaxLength(256).HasComment("产线编码"); b.Property(x => x.ShipNumber).HasMaxLength(256).HasComment("船号"); b.Property(x => x.ProjectNumber).HasMaxLength(256).HasComment("项目号"); b.Property(x => x.ProcessName).HasMaxLength(256).HasComment("工序名称"); b.Property(x => x.PipeFittingCode).HasMaxLength(256).HasComment("管件编码"); b.Property(x => x.PreSerialNumber).HasMaxLength(256).HasComment("顺序号"); b.Property(x => x.PipeSpecCode).HasMaxLength(256).HasComment("管段编码"); b.Property(x => x.PipeSectionName).HasMaxLength(256).HasComment("管段名称"); b.Property(x => x.OuterDiameter).HasColumnType("decimal(18,2)").HasComment("外径(mm)"); b.Property(x => x.Thickness).HasColumnType("decimal(18,2)").HasComment("壁厚(mm)"); b.Property(x => x.Material).HasMaxLength(256).HasComment("材质"); b.Property(x => x.MarkingPosition).HasColumnType("decimal(18,2)").HasComment("打码位置"); b.Property(x => x.CuttingPosition).HasColumnType("decimal(18,2)").HasComment("切割位置"); b.Property(x => x.ProcessRouteNumber).HasMaxLength(256).HasComment("工艺流向编号"); b.Property(x => x.PlannedStartTime).HasComment("计划开始时间"); b.Property(x => x.PlannedEndTime).HasComment("计划完成时间"); b.Property(x => x.TeamInfo).HasMaxLength(256).HasComment("班组信息"); b.Property(x => x.Timestamp).HasMaxLength(256).HasComment("时间戳"); b.ConfigureMyCmsEntity(); // Configure indexes b.HasIndex(u => u.TaskCode).IsUnique(); b.HasIndex(u => u.DataIdentifier); b.HasIndex(u => u.PlannedStartTime); b.HasIndex(u => u.PlannedEndTime); b.ApplyObjectExtensionMappings(); }); } }