Files
01-Siyuan-MesProject/DataMirrorTools_Simulator/BasicOperation.OSql/OSql/InitInjection.cs
2026-05-29 10:07:05 +08:00

224 lines
6.1 KiB
C#

using Global;
using System;
using System.Collections.Generic;
using System.Data;
using static DtWebApiDT.DataAccess;
//using static SqlManage.ExecSql;
/// <summary>
///
/// </summary>
namespace DTTest
{
/// <summary>
/// 对于数据库的操作
/// </summary>
public partial class SqlOperation
{
/// <summary>
/// 程序初始化时候注入数据,20201013,LLX
/// 2021.4.6
/// 2021.4.7
/// </summary>
public class InitInjection
{
private static string Sql_SelectDatabase_Exist()
{
return @" SELECT* FROM sysdatabases WHERE name='ModelData'";
}
private static string Sql_CreateDatabase_Entity()
{
var thisDirectory = System.IO.Directory.GetCurrentDirectory();
var dbName = "ModelData";
return
@" CREATE DATABASE [" + dbName + "] CONTAINMENT = NONE" +
@" ON PRIMARY( NAME = N'" + dbName + "', FILENAME = N'" + thisDirectory + "\\" + dbName + ".mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )" +
@" LOG ON ( NAME = N'" + dbName + "_log', FILENAME = N'" + thisDirectory + "\\" + dbName + "_log.ldf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)";
}
private static string Sql_CreateDatabase_Table()
{
return @"
CREATE TABLE [OperationTree](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CraftCode] [nvarchar](50) NOT NULL,
[CraftTypeCode] [nvarchar](50) NULL,
[Varieties] [nvarchar](50) NULL,
[CraftName] [nvarchar](500) NULL,
[CraftDeviceTypeCode] [int] NULL,
[ProjectCode] [nvarchar](50) NOT NULL,
[OperationTime] [datetime] NULL,
[SequenceNo] [int] NULL,
[StartTime] [int] NULL,
[KeepTime] [int] NULL,
[ModelCode] [nvarchar](50) NULL,
[CraftPlayData] [nvarchar](max) NULL,
[CraftPlayData_Joint] [nvarchar](max) NULL,
[CraftPlayData_Raw] [nvarchar](max) NULL,
[Rate] [int] NULL,
[Explain] [nvarchar](50) NULL,
CONSTRAINT [pk_CraftTree] PRIMARY KEY CLUSTERED ( [CraftCode] ASC, [ProjectCode] ASC )
)
CREATE TABLE [DeviceSignalSimTree](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Code] [nvarchar](50) NOT NULL,
[Pid] [nvarchar](50) NULL,
[Varieties] [nvarchar](50) NULL,
[Name] [nvarchar](50) NULL,
[TagID] [int] NULL,
[TagValue] [nvarchar](50) NULL,
[StartTime] [int] NULL,
[KeepTime] [int] NULL,
[SequenceNo] [int] NULL,
[OperationTime] [datetime] NULL,
[ProjectCode] [nvarchar](50) NOT NULL
)
CREATE TABLE [ModelProcess](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProcessCode] [nvarchar](50) NOT NULL,
[CraftCode] [nvarchar](50) NULL,
[SequenceNo] [int] NULL,
[ProcessName] [nvarchar](50) NULL,
[UseTime] [int] NULL,
[X] [real] NULL,
[Y] [real] NULL,
[Z] [real] NULL,
[RX] [real] NULL,
[RY] [real] NULL,
[RZ] [real] NULL,
[X_Base] [real] NULL,
[Y_Base] [real] NULL,
[Z_Base] [real] NULL,
[RX_Base] [real] NULL,
[RY_Base] [real] NULL,
[RZ_Base] [real] NULL,
[QX] [real] NULL,
[QY] [real] NULL,
[QZ] [real] NULL,
[QW] [real] NULL,
[QX_Base] [real] NULL,
[QY_Base] [real] NULL,
[QZ_Base] [real] NULL,
[QW_Base] [real] NULL,
[X_Tool] [real] NULL,
[Y_Tool] [real] NULL,
[Z_Tool] [real] NULL,
[RX_Tool] [real] NULL,
[RY_Tool] [real] NULL,
[RZ_Tool] [real] NULL,
[QX_Tool] [real] NULL,
[QY_Tool] [real] NULL,
[QZ_Tool] [real] NULL,
[QW_Tool] [real] NULL,
[OperationTime] [datetime] NULL,
[ProjectCode] [nvarchar](50) NOT NULL,
CONSTRAINT [pk_ModelProcess] PRIMARY KEY CLUSTERED ( [ProcessCode] ASC, [ProjectCode] ASC )
)
CREATE TABLE [ProjectList](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProjectCode] [nvarchar](50) NOT NULL,
[ProjectName] [nvarchar](50) NULL,
[RestoredProjectName] [nvarchar](50) NULL,
[OperationTime] [datetime] NULL,
[CurrentProject] [bit] NULL,
CONSTRAINT [PK_ProjectList] PRIMARY KEY CLUSTERED ( [ProjectCode] ASC )
)
CREATE TABLE [ProcesslLabelList](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProcessCode] [nvarchar](50) NULL,
[TagID] [int] NULL,
[TagValue] [nvarchar](50) NULL,
[OperationTime] [datetime] NULL,
[ProjectCode] [nvarchar](50) NULL
)
CREATE TABLE [TagTriggerHandler](
[ID] [int] IDENTITY(1,1) NOT NULL,
[HandlerType] [int] NULL,
[TagID] [int] NULL,
[TagValue] [nvarchar](50) NULL,
[HandlerCode] [nvarchar](50) NULL,
[HandlerValue] [nvarchar](50) NULL,
[OperationTime] [datetime] NULL,
[ProjectCode] [nvarchar](50) NOT NULL
)
CREATE TABLE [Z_Save_Position](
[ID] [int] IDENTITY(1,1) NOT NULL,
[OpName] [nvarchar](50) NULL,
[Value] [nvarchar](50) NULL,
[OperationTime] [datetime] NULL,
[ProjectCode] [nvarchar](50) NOT NULL
)
CREATE TABLE [Z_Save_Tag](
[ID] [int] IDENTITY(1,1) NOT NULL,
[OpName] [nvarchar](50) NULL,
[TagID] [int] NULL,
[Value] [nvarchar](50) NULL,
[KeepTime] [int] NULL,
[OperationTime] [datetime] NULL,
[ProjectCode] [nvarchar](50) NOT NULL
)";
}
/// <summary>
/// 数据库是存在
/// 2021.4.7
/// </summary>
/// <param name="connStr"></param>
/// <returns></returns>
public static bool SelectDatabase_Exist(string connStr)
{
var exist = false;
ExecuteDataset(Sql_SelectDatabase_Exist(), connStr.Replace("ModelData", "master"), out DataSet ds, out string errorMessage);
var dt = ds.Tables[0];
var count = dt.Rows.Count;
if (count > 0)
{
exist = true;
}
return exist;
}
public static bool CreateDatabase_Entity(string connStr)
{
return ExecuteDataset(Sql_CreateDatabase_Entity(), connStr.Replace("ModelData", "master"), out DataSet ds, out string errorMessage);
}
public static void CreateDatabase_Table(string connStr)
{
ExecuteDataset(Sql_CreateDatabase_Table(), connStr, out DataSet ds, out string errorMessage);
}
/// <summary>
/// 得到数据库脚本
/// 2021.4.9
/// </summary>
/// <returns></returns>
public static string GetSqlScript()
{
var script = new System.Text.StringBuilder();
script.AppendLine(Sql_CreateDatabase_Entity()).AppendLine();
script.AppendLine(Sql_CreateDatabase_Table()).AppendLine();
return script.ToString();
}
}
}
}