narsil/Sql/2016.01.04 Remove Waiter.sql

81 lines
2.7 KiB
Transact-SQL

BEGIN TRANSACTION
GO
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK415A8D773E16E17E]') AND parent_object_id = OBJECT_ID(N'[dbo].[Vouchers]'))
ALTER TABLE [dbo].[Vouchers] DROP CONSTRAINT [FK415A8D773E16E17E]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Waiters]') AND type in (N'U'))
DROP TABLE [dbo].[Waiters]
GO
ALTER TABLE dbo.Vouchers DROP COLUMN WaiterID
GO
ALTER PROCEDURE [dbo].[VoucherUpdate]
@Pax int,
@UserID uniqueidentifier,
@TableID uniqueidentifier,
@CustomerID uniqueidentifier,
@Narration nvarchar(255),
@Void bit,
@VoidReason nvarchar(255),
@Printed bit,
@VoucherType int,
@VoucherID uniqueidentifier
AS
BEGIN
DECLARE @LastEditDate datetime;
DECLARE @Date datetime;
DECLARE @BillID int;
SELECT @Printed = CASE WHEN @Printed = 1 THEN 1 ELSE Printed END,
@BillID = BillID, @Date = Date, @LastEditDate = GETDATE()
FROM Vouchers WHERE VoucherID = @VoucherID;
IF @Printed = 1 AND @BillID IS NULL
BEGIN
IF @VoucherType IN (1,3)
SELECT @BillID = ISNULL(MAX(BillID) + 1, 1) FROM Vouchers WHERE VoucherType IN (1, 3);
ELSE
SELECT @BillID = ISNULL(MAX(BillID) + 1, 1) FROM Vouchers WHERE VoucherType = @VoucherType;
IF @BillID % 10000 = 0
SELECT @BillID = @BillID + 1;
SELECT @Date = @LastEditDate;
END
UPDATE Vouchers SET Pax = @Pax, UserID = @UserID, TableID = @TableID,
CustomerID = @CustomerID, Narration = @Narration, Void = @Void,
VoidReason = @VoidReason, Printed = @Printed, VoucherType = @VoucherType, LastEditDate = @LastEditDate,
Date = @Date, BillID = @BillID
WHERE VoucherID = @VoucherID;
END
GO
ALTER PROCEDURE [dbo].[VoucherInsert]
@Pax int,
@UserID uniqueidentifier,
@TableID uniqueidentifier,
@CustomerID uniqueidentifier,
@Narration nvarchar(255),
@Void bit,
@VoidReason nvarchar(255),
@Printed bit,
@VoucherType int,
@VoucherID uniqueidentifier
AS
BEGIN
DECLARE @Date datetime;
DECLARE @BillID int;
DECLARE @KotID int;
SELECT @Date = GETDATE(), @BillID = null;
SELECT @KotID = ISNULL(MAX(KotID) + 1, 1) FROM Vouchers;
IF @Printed = 1
BEGIN
IF @VoucherType IN (1,3)
SELECT @BillID = ISNULL(MAX(BillID) + 1, 1) FROM Vouchers WHERE VoucherType IN (1, 3);
ELSE
SELECT @BillID = ISNULL(MAX(BillID) + 1, 1) FROM Vouchers WHERE VoucherType = @VoucherType;
IF @BillID % 10000 = 0
SELECT @BillID = @BillID + 1;
END
INSERT INTO Vouchers (VoucherID, Date, Pax, UserID, CreationDate, LastEditDate, BillID, TableID, CustomerID, Narration, Void, VoidReason, Printed, VoucherType, KotID)
VALUES (@VoucherID, @Date, @Pax, @UserID, @Date, @Date, @BillID, @TableID, @CustomerID, @Narration, @Void, @VoidReason, @Printed, @VoucherType, @KotID);
END
GO
COMMIT