81 lines
2.7 KiB
MySQL
81 lines
2.7 KiB
MySQL
|
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
|