You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

330 lines
12 KiB

3 weeks ago

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.Extensions.Configuration;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TaskManager.Entity;
3 weeks ago
using TaskManager.Entity.Entitys;
3 weeks ago
using Wood.Util;
namespace TaskManager.EntityFramework
{
public class JobDbContext:DbContext
{
private const string ConnectionStringName = "DefaultConnection";
// 保存配置的字段
private readonly IConfiguration _configuration;
// 使用依赖注入的构造函数
public JobDbContext(DbContextOptions<JobDbContext> options, IConfiguration configuration)
: base(options)
{
_configuration = configuration;
// 设置命令超时时间
//this.Database.SetCommandTimeout(TimeSpan.FromMinutes(10));
}
public JobDbContext(DbContextOptions<JobDbContext> options)
: base(options)
{
}
public JobDbContext()
{
this.Database.SetCommandTimeout(System.TimeSpan.FromMinutes(50));
}
public JobDbContext(string strConn)
{
this.Database.SetCommandTimeout(System.TimeSpan.FromMinutes(50));
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// 配置数据库连接字符串
//if (!optionsBuilder.IsConfigured)
//{
// // 从配置中获取连接字符串
// // var connectionString = _configuration.GetConnectionString("Server=192.168.1.228;Database=TaskManager;User ID=sa;Password=ChangkeTec@2021;TrustServerCertificate=True");
// //if (string.IsNullOrEmpty(connectionString))
// //{
// // throw new InvalidOperationException("无法从配置中获取数据库连接字符串");
// //}
// // 配置SQL Server连接
// optionsBuilder.UseSqlServer("Server=192.168.1.228;Database=TaskManager;User ID=sa;Password=ChangkeTec@2021;TrustServerCertificate=True");
//}
optionsBuilder.UseSqlServer(GlobalContext.SystemConfig.CustomerDb);
}
/// <summary>
/// 来料检验数据
/// </summary>
public DbSet<SUPPLIER_PRO_MATERIAL_STOCK> SupplierProMaterialStock { get; set; }
/// <summary>
/// 排产数据
/// </summary>
public DbSet<SUPPLIER_PRO_SCHEDULING> SupplierProScheduling { get; set; }
/// <summary>
/// 供应商基础信息
/// </summary>
public DbSet<SUPPLIER_INFO> SupplierInfo { get; set; }
/// <summary>
/// 人员资质信息
/// </summary>
public DbSet<SUPPLIER_EMPLOYEE> SupplierEmployee { get; set; }
/// <summary>
/// BOM主数据
/// </summary>
public DbSet<SUPPLIER_BOM> SupplierBom { get; set; }
/// <summary>
/// 过程控制项质量数据
/// </summary>
public DbSet<SUPPLIER_PRO_CPS> SupplierProCps { get; set; }
/// <summary>
/// 生产过程数据
/// </summary>
public DbSet<SUPPLIER_PRO_DATA> SupplierProData { get; set; }
/// <summary>
/// 产品一次合格率
/// </summary>
public DbSet<SUPPLIER_PRO_FIRST_PASSYIELD> SupplierProFirstPassYield { get; set; }
/// <summary>
/// 工位一次合格率
/// </summary>
public DbSet<SUPPLIER_PRO_STATION_FIRST_PASSYIELD> SupplierProStationFirstPassYield { get; set; }
/// <summary>
/// 缺陷业务数据
/// </summary>
public DbSet<SUPPLIER_PRO_FLAW> SupplierProFlaw { get; set; }
/// <summary>
/// 环境业务数据
/// </summary>
public DbSet<SUPPLIER_PRO_ENVIRONMENT> SupplierProEnvironment { get; set; }
/// <summary>
/// 设备OEE达成率
/// </summary>
public DbSet<SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE> SupplierProOeeAchievementRate { get; set; }
/// <summary>
/// OEE时间明细
/// </summary>
public DbSet<SUPPLIER_PRO_OEE_TIME_DETAILS> SupplierProOeeTimeDetails { get; set; }
/// <summary>
/// 物料主数据
/// </summary>
public DbSet<SUPPLIER_PRO_MATERIAL_DATA> SupplierProMaterialData { get; set; }
/// <summary>
/// 附件类数据
/// </summary>
public DbSet<SUPPLIER_PRO_ATTACHMENT_DATA> SupplierProAttachmentData { get; set; }
/// <summary>
/// 工艺装备
/// </summary>
public DbSet<SUPPLIER_PRO_PROCESS_EQUIPMENT> SupplierProProcessEquipment { get; set; }
/// <summary>
/// 工艺
/// </summary>
public DbSet<SUPPLIER_PRO_PROCESS> SupplierProProcess { get; set; }
/// <summary>
/// 整车月度生产计划-2
/// </summary>
public DbSet<SUPPLIER_PRO_PLANING> SupplierProPlaning { get; set; }
/// <summary>
/// M+6月物料需求计划
/// </summary>
public DbSet<SUPPLIER_MRP_MONTH> SupplierMrpMonth { get; set; }
/// <summary>
/// M+6月物料需求计划风险确认
/// </summary>
public DbSet<SUPPLIER_CON_MMRP> SupplierConMmrP { get; set; }
/// <summary>
/// 日物料需求计划
/// </summary>
public DbSet<SUPPLIER_MRP_DATE> SupplierMrpDate { get; set; }
/// <summary>
/// 日物料需求计划风险确认
/// </summary>
public DbSet<SUPPLIER_CON_DATE> SupplierConDate { get; set; }
/// <summary>
/// 计划协议
/// </summary>
public DbSet<SUPPLIER_SA_WEEK> SupplierSaWeek { get; set; }
/// <summary>
/// 采购订单
/// </summary>
public DbSet<SUPPLIER_PO> SupplierPo { get; set; }
/// <summary>
/// 采购订单风险确认
/// </summary>
public DbSet<SUPPLIER_CON_PO> SupplierConPo { get; set; }
/// <summary>
/// 过焊装未过总装
/// </summary>
public DbSet<SUPPLIER_PRO_HSCHEDUL> SupplierProHSchedul { get; set; }
/// <summary>
/// 过涂装未过总装
/// </summary>
public DbSet<SUPPLIER_PRO_TSCHEDUL> SupplierProTSchedul { get; set; }
/// <summary>
/// 排序供货
/// </summary>
public DbSet<SUPPLIER_PRO_CSCHEDUL> SupplierProCSchedul { get; set; }
/// <summary>
/// 看板配送单
/// </summary>
public DbSet<SUPPLIER_DEL_STATE> SupplierDelState { get; set; }
/// <summary>
/// 退货单
/// </summary>
public DbSet<SUPPLIER_RETURN> SupplierReturn { get; set; }
/// <summary>
/// 奇瑞RDC共享库存
/// </summary>
public DbSet<SUPPLIER_INV_DATA> SupplierInvData { get; set; }
/// <summary>
/// 供应商共享库存
/// </summary>
public DbSet<SUPPLIER_SINV_DATA> SupplierSInvData { get; set; }
/// <summary>
/// 日MRP状态监控
/// </summary>
public DbSet<SUPPLIER_MRP_STATE> SupplierMrpState { get; set; }
public DbSet<TaskLog> TaskLogs { get; set; }
public DbSet<TaskConifgure> TaskConifgure { get; set; }
//public DbSet<TaskConifgure> TaskConifgures { get; set; }
// 配置实体映射
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//modelBuilder.Entity<TaskConifgure>(entity =>
//{
// entity.ToTable("TaskConifgure");
//});
// 配置表名
3 weeks ago
3 weeks ago
// 其他配置...
3 weeks ago
//工位一次合格率
modelBuilder.Entity<SUPPLIER_PRO_STATION_FIRST_PASSYIELD>(b =>
{
b.ToTable("SUPPLIER_PRO_STATION_FIRST_PASSYIELD");
//供应商代码
b.Property(e => e.SupplierCode).HasColumnType("VARCHAR").HasMaxLength(32);
//供应商名称
b.Property(e => e.SupplierName).HasColumnType("VARCHAR").HasMaxLength(64);
//工厂代码
b.Property(e => e.PlantId).HasColumnType("VARCHAR").HasMaxLength(32);
//工厂名称
b.Property(e => e.PlantName).HasColumnType("VARCHAR").HasMaxLength(64);
//车间代码
b.Property(e => e.WorkshopId).HasColumnType("VARCHAR").HasMaxLength(32);
//车间名称
b.Property(e => e.WorkshopName).HasColumnType("VARCHAR").HasMaxLength(64);
//产线代码
b.Property(e => e.ProductionLineId).HasColumnType("VARCHAR").HasMaxLength(32);
//产线名称
b.Property(e => e.ProductionLineName).HasColumnType("VARCHAR").HasMaxLength(100);
//工位代码
b.Property(e => e.StationId).HasColumnType("VARCHAR").HasMaxLength(32);
//工位名称
b.Property(e => e.StationName).HasColumnType("VARCHAR").HasMaxLength(64);
//奇瑞零件号
b.Property(e => e.CheryProductNo).HasColumnType("VARCHAR").HasMaxLength(32);
//奇瑞零件名称
b.Property(e => e.CheryProductName).HasColumnType("VARCHAR").HasMaxLength(100);
//供应商总成零件号
b.Property(e => e.VendorProductNo).HasColumnType("VARCHAR").HasMaxLength(32);
//供应商总成零件名称
b.Property(e => e.VendorProductName).HasColumnType("VARCHAR").HasMaxLength(100);
//生产批次号
b.Property(e => e.ProductBatchNo).HasColumnType("VARCHAR").HasMaxLength(32);
//生产工单号,(跟排产工单号关联)
b.Property(e => e.ManufactureNo).HasColumnType("VARCHAR").HasMaxLength(32);
//批次计划数量
b.Property(e => e.WorkOrderNumber).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5);
//不合格数
b.Property(e => e.DefectiveNumber).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5);
//合格数
b.Property(e => e.AcceptableNumber).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5);
//一次合格率实际值,使用小数表示,如0.9601表示合格率为96.01%整数位最多10位,小数位最多3位
b.Property(e => e.OncePassRateRealValue).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5);
//一次合格率目标值,使用小数表示,如0.96表示合格率目标为96.00%。整数位最多10位,小数位最多3位
b.Property(e => e.OncePassRateTagValue).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5);
//班次,班次如何区分需备注(白班,晚班,中班)
b.Property(e => e.WorkShift).HasColumnType("VARCHAR").HasMaxLength(10);
//生产日期,格式(yyyy-MM-ddHH:mm:ss)
b.Property(e => e.StatisticalTime).HasColumnType("CHAR").HasMaxLength(19);
//值统计时间,格式(yyyy-MM-ddHH:mm:ss)
b.Property(e => e.DateTime).HasColumnType("CHAR").HasMaxLength(19);
b.Property(e => e.UId).HasColumnType("bigint").ValueGeneratedOnAdd().IsRequired();
b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500);
b.HasKey(e => e.UId);
});
3 weeks ago
}
3 weeks ago
3 weeks ago
}
}