USE [FabApprovalSystem] GO /****** Object: StoredProcedure [dbo].[InsertLotDispositionLot_Prev] Script Date: 11/21/2024 11:29:04 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[InsertLotDispositionLot_Prev] @LotID INT OUTPUT, @LotNumber VARCHAR(50), @DieLotNumber VARCHAR(50), @IssueID INT, @Description VARCHAR(100), @NewPartNo VARCHAR(50), @WipPartNo VARCHAR(50), @DiePartNo VARCHAR(50), @ProductFamily CHAR(10), @Gen VARCHAR(10), @Channel VARCHAR(50), @HexSize VARCHAR(10), @Voltage FLOAT, @WaferCount INT, @DieCount INT, @Location VARCHAR(50), @TotalCost FLOAT, @LotStatusOptionID INT, @OpenIssueWithExistingLot INT OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; /****** Script for SelectTopNRows command from SSMS ******/ DECLARE @ReleaseCount INT DECLARE @ScrapCount INT SET @OpenIssueWithExistingLot = 0 IF EXISTS ( SELECT LD.* FROM Lot L INNER JOIN LotDisposition LD ON L.IssueID = LD.IssueID WHERE L.LotNumber = @LotNumber AND CloseDate IS NULL ) BEGIN SELECT @OpenIssueWithExistingLot = LD.IssueID FROM Lot L INNER JOIN LotDisposition LD ON L.IssueID = LD.IssueID WHERE L.LotNumber = @LotNumber AND CloseDate IS NULL RETURN END INSERT INTO Lot ( LotNumber, DieLotNumber, IssueID, Description, NewPartNo, WipPartNo, DiePartNo, ProductFamily, Gen, Channel, HexSize, Voltage, WaferCount, DieCount, Location, TotalCost, LotStatusOptionID ) VALUES ( @LotNumber, @DieLotNumber, @IssueID, @Description, @NewPartNo, @WipPartNo, @DiePartNo, @ProductFamily, @Gen, @Channel, @HexSize, @Voltage, @WaferCount, @DieCount, @Location, @TotalCost, @LotStatusOptionID ) END SET @LotID = CAST(SCOPE_IDENTITY() AS INT) DECLARE @TempCount INT IF @DieCount > 0 SET @TempCount = @DieCount IF @WaferCount > 0 SET @TempCount = @WaferCount IF @LotStatusOptionID = 1 -- Release INSERT INTO ScrapLot( LotNo, IssueID, ReleaseCount, Lot1State, Lot2State, Lot3State, Lot4State, Lot5State, Lot6State, Lot7State, Lot8State, Lot9State, Lot10State, Lot11State, Lot12State, Lot13State, Lot14State, Lot15State, Lot16State, Lot17State, Lot18State, Lot19State, Lot20State, Lot21State, Lot22State, Lot23State, Lot24State, Lot25State, Lot26State, Lot27State, Lot28State, Lot29State, Lot30State, Lot31State, Lot32State, Lot33State, Lot34State, Lot35State, Lot36State, Lot37State, Lot38State, Lot39State, Lot40State, Lot41State, Lot42State, Lot43State, Lot44State, Lot45State, Lot46State, Lot47State, Lot48State, Lot49State, Lot50State ) VALUES ( @LotNumber, @IssueID, @TempCount, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ) ELSE IF @LotStatusOptionID = 2 -- Scrap INSERT INTO ScrapLot( LotNo, IssueID, ScrapCount, Lot1State, Lot2State, Lot3State, Lot4State, Lot5State, Lot6State, Lot7State, Lot8State, Lot9State, Lot10State, Lot11State, Lot12State, Lot13State, Lot14State, Lot15State, Lot16State, Lot17State, Lot18State, Lot19State, Lot20State, Lot21State, Lot22State, Lot23State, Lot24State, Lot25State, Lot26State, Lot27State, Lot28State, Lot29State, Lot30State, Lot31State, Lot32State, Lot33State, Lot34State, Lot35State, Lot36State, Lot37State, Lot38State, Lot39State, Lot40State, Lot41State, Lot42State, Lot43State, Lot44State, Lot45State, Lot46State, Lot47State, Lot48State, Lot49State, Lot50State ) VALUES ( @LotNumber, @IssueID, @TempCount, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ) ELSE IF @LotStatusOptionID = 4 -- M_Suffix INSERT INTO ScrapLot( LotNo, IssueID, ReleaseCount, Lot1State, Lot2State, Lot3State, Lot4State, Lot5State, Lot6State, Lot7State, Lot8State, Lot9State, Lot10State, Lot11State, Lot12State, Lot13State, Lot14State, Lot15State, Lot16State, Lot17State, Lot18State, Lot19State, Lot20State, Lot21State, Lot22State, Lot23State, Lot24State, Lot25State, Lot26State, Lot27State, Lot28State, Lot29State, Lot30State, Lot31State, Lot32State, Lot33State, Lot34State, Lot35State, Lot36State, Lot37State, Lot38State, Lot39State, Lot40State, Lot41State, Lot42State, Lot43State, Lot44State, Lot45State, Lot46State, Lot47State, Lot48State, Lot49State, Lot50State ) VALUES ( @LotNumber, @IssueID, @TempCount, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ) ELSE IF @LotStatusOptionID = 6 -- Close T0 QDB INSERT INTO ScrapLot( LotNo, IssueID, ReleaseCount, Lot1State, Lot2State, Lot3State, Lot4State, Lot5State, Lot6State, Lot7State, Lot8State, Lot9State, Lot10State, Lot11State, Lot12State, Lot13State, Lot14State, Lot15State, Lot16State, Lot17State, Lot18State, Lot19State, Lot20State, Lot21State, Lot22State, Lot23State, Lot24State, Lot25State, Lot26State, Lot27State, Lot28State, Lot29State, Lot30State, Lot31State, Lot32State, Lot33State, Lot34State, Lot35State, Lot36State, Lot37State, Lot38State, Lot39State, Lot40State, Lot41State, Lot42State, Lot43State, Lot44State, Lot45State, Lot46State, Lot47State, Lot48State, Lot49State, Lot50State ) VALUES ( @LotNumber, @IssueID, @TempCount, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 ) ELSE INSERT INTO ScrapLot(LotNo, IssueID) VALUES (@LotNumber, @IssueID) GO