﻿USE [FabApprovalSystem]
GO
	/****** Object:  StoredProcedure [dbo].[LTInsertMaterialDetail]    Script Date: 11/21/2024 11:29:05 AM ******/
SET
	ANSI_NULLS ON
GO
SET
	QUOTED_IDENTIFIER ON
GO
	-- =============================================
	-- Author:		<Author,,Name>
	-- Create date: <Create Date,,>
	-- Description:	<Description,,>
	-- =============================================
	CREATE PROCEDURE [dbo].[LTInsertMaterialDetail] @LTMaterialID INT OUT,
	@EPISiliconPartNumber VARCHAR(50),
	@Quantity INT,
	@Source VARCHAR(50),
	@Supplier VARCHAR(50),
	@LTWorkRequestID INT,
	@UpdatedBy INT = -1,
	@Result INT = 0 OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
SET
	NOCOUNT ON;

-- Insert statements for procedure here
IF (
	SELECT
		COUNT(*)
	FROM
		LTWorkRequest
	WHERE
		ID = @LTWorkRequestID
		AND RecordLockedBy = @UpdatedBy
) > 0 BEGIN
INSERT INTO
	LTMaterial (
		EPISiliconPartNumber,
		Quantity,
		Source,
		Supplier,
		LTWorkRequestID
	)
VALUES
	(
		@EPISiliconPartNumber,
		@Quantity,
		@Source,
		@Supplier,
		@LTWorkRequestID
	)
SET
	@LTMaterialID = SCOPE_IDENTITY()
UPDATE
	LTWorkRequest
SET
	StartQty = (
		SELECT
			SUM(Quantity)
		FROM
			LTMaterial
		WHERE
			LTWorkRequestID = @LTWorkRequestID
	)
WHERE
	ID = @LTWorkRequestID
END
ELSE BEGIN
SET
	@Result = -1
END
END
GO