sozsoft-platform/configs/seeds/sql/object/Prc_T_MaterialRequest.sql
2026-10-09 20:02:27 +03:00

54 lines
No EOL
2.4 KiB
Transact-SQL

IF OBJECT_ID(N'[dbo].[Prc_T_MaterialRequest]', 'U') IS NULL
BEGIN
CREATE TABLE [dbo].[Prc_T_MaterialRequest]
(
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
[TenantId] uniqueidentifier NULL,
[RequestNo] nvarchar(32) NULL,
[Priority] int NOT NULL DEFAULT 0,
[RequesterUserId] uniqueidentifier NOT NULL,
[DepartmentId] uniqueidentifier NOT NULL,
[WarehouseId] uniqueidentifier NOT NULL,
[LocationId] uniqueidentifier NOT NULL,
[RequestDate] datetime NOT NULL DEFAULT GETDATE(),
[Description] nvarchar(MAX) NULL,
[Status] nvarchar(32) NOT NULL DEFAULT 'Draft',
[ApprovalStatus] nvarchar(32) NULL,
[ApproverId] uniqueidentifier NULL,
[ApprovalDate] datetime NULL,
[ApprovalNote] nvarchar(MAX) NULL,
[DeptApproverUserNames] nvarchar(MAX) NULL,
[PurchaseApproverUserNames] nvarchar(MAX) NULL,
[DeptApprovedBy] uniqueidentifier NULL,
[DeptApprovalDate] datetime NULL,
[DeptApprovalNote] nvarchar(MAX) NULL,
[PurchaseApprovedBy] uniqueidentifier NULL,
[PurchaseApprovalDate] datetime NULL,
[PurchaseApprovalNote] nvarchar(MAX) NULL,
[RejectReasonId] uniqueidentifier NULL,
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
[CreatorId] uniqueidentifier NULL,
[LastModificationTime] datetime2 NULL,
[LastModifierId] uniqueidentifier NULL,
[IsDeleted] bit NOT NULL DEFAULT 0,
[DeletionTime] datetime2 NULL,
[DeleterId] uniqueidentifier NULL,
CONSTRAINT [PK_Prc_T_MaterialRequest] PRIMARY KEY NONCLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
IF INDEXPROPERTY(OBJECT_ID(N'[dbo].[Prc_T_MaterialRequest]'), 'IX_Prc_T_MaterialRequest_TenantId_Status', 'IndexID') IS NULL
BEGIN
CREATE INDEX [IX_Prc_T_MaterialRequest_TenantId_Status] ON [dbo].[Prc_T_MaterialRequest] ([TenantId] ASC, [Status] ASC);
END
GO
IF INDEXPROPERTY(OBJECT_ID(N'[dbo].[Prc_T_MaterialRequest]'), 'IX_Prc_T_MaterialRequest_TenantId_RequesterUserId', 'IndexID') IS NULL
BEGIN
CREATE INDEX [IX_Prc_T_MaterialRequest_TenantId_RequesterUserId] ON [dbo].[Prc_T_MaterialRequest] ([TenantId] ASC, [RequesterUserId] ASC);
END
GO