Mike Phares ab800974b7 Programmability objects from database
Removed commented code
Added fn_GetExpiredTECNByOriginator
2024-12-12 12:15:46 -07:00

597 lines
7.0 KiB
Transact-SQL

USE [FabApprovalSystem]
GO
/****** Object: StoredProcedure [dbo].[InsertLotDispositionLot] Script Date: 11/21/2024 11:29:04 AM ******/
SET
ANSI_NULLS ON
GO
SET
QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[InsertLotDispositionLot] @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,
@QualityCode NCHAR(10),
@OpenIssueWithExistingLot INT OUTPUT,
@ExistingRowUpdated bit = NULL OUTPUT AS BEGIN -- 2019-05-10 TR: added code to update existing Lot and fix defect with ScrapLot code, #35349
SET
NOCOUNT ON;
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 IF EXISTS (
SELECT
1
FROM
Lot
WHERE
LotNumber = @LotNumber
AND IssueID = @IssueID
) BEGIN
UPDATE
Lot
SET
DieLotNumber = @DieLotNumber,
Description = @Description,
NewPartNo = @NewPartNo,
WipPartNo = @WipPartNo,
DiePartNo = @DiePartNo,
ProductFamily = @ProductFamily,
Gen = @Gen,
Channel = @Channel,
HexSize = @HexSize,
Voltage = @Voltage,
WaferCount = @WaferCount,
DieCount = @DieCount,
Location = @Location,
TotalCost = @TotalCost,
QualityCode = @QualityCode,
LotStatusOptionID = @LotStatusOptionID
WHERE
LotNumber = @LotNumber
AND IssueID = @IssueID
SET
@ExistingRowUpdated = 1
END
ELSE BEGIN
INSERT INTO
Lot (
LotNumber,
DieLotNumber,
IssueID,
Description,
NewPartNo,
WipPartNo,
DiePartNo,
ProductFamily,
Gen,
Channel,
HexSize,
Voltage,
WaferCount,
DieCount,
Location,
TotalCost,
QualityCode,
LotStatusOptionID
)
VALUES
(
@LotNumber,
@DieLotNumber,
@IssueID,
@Description,
@NewPartNo,
@WipPartNo,
@DiePartNo,
@ProductFamily,
@Gen,
@Channel,
@HexSize,
@Voltage,
@WaferCount,
@DieCount,
@Location,
@TotalCost,
@QualityCode,
@LotStatusOptionID
)
SET
@ExistingRowUpdated = 0
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)
END
GO