mesa-fab-approval/Programmability/Stored Procedures/InsertLotDispositionLot_Prev.sql
Mike Phares ab800974b7 Programmability objects from database
Removed commented code
Added fn_GetExpiredTECNByOriginator
2024-12-12 12:15:46 -07:00

563 lines
11 KiB
Transact-SQL

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: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <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