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

187 lines
4.7 KiB
Transact-SQL

USE [FabApprovalSystem]
GO
/****** Object: StoredProcedure [dbo].[UpdateScrapLotAll] 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].[UpdateScrapLotAll] @IssueID INT,
@LotStatus INT,
@ScrapCount INT,
@Lot1State TINYINT,
@Lot2State TINYINT,
@Lot3State TINYINT,
@Lot4State TINYINT,
@Lot5State TINYINT,
@Lot6State TINYINT,
@Lot7State TINYINT,
@Lot8State TINYINT,
@Lot9State TINYINT,
@Lot10State TINYINT,
@Lot11State TINYINT,
@Lot12State TINYINT,
@Lot13State TINYINT,
@Lot14State TINYINT,
@Lot15State TINYINT,
@Lot16State TINYINT,
@Lot17State TINYINT,
@Lot18State TINYINT,
@Lot19State TINYINT,
@Lot20State TINYINT,
@Lot21State TINYINT,
@Lot22State TINYINT,
@Lot23State TINYINT,
@Lot24State TINYINT,
@Lot25State TINYINT,
@Lot26State TINYINT,
@Lot27State TINYINT,
@Lot28State TINYINT,
@Lot29State TINYINT,
@Lot30State TINYINT,
@Lot31State TINYINT,
@Lot32State TINYINT,
@Lot33State TINYINT,
@Lot34State TINYINT,
@Lot35State TINYINT,
@Lot36State TINYINT,
@Lot37State TINYINT,
@Lot38State TINYINT,
@Lot39State TINYINT,
@Lot40State TINYINT,
@Lot41State TINYINT,
@Lot42State TINYINT,
@Lot43State TINYINT,
@Lot44State TINYINT,
@Lot45State TINYINT,
@Lot46State TINYINT,
@Lot47State TINYINT,
@Lot48State TINYINT,
@Lot49State TINYINT,
@Lot50State TINYINT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET
NOCOUNT ON;
UPDATE
Lot
SET
LotStatusOptionID = @LotStatus
WHERE
IssueID = @IssueID IF @LotStatus = 1 -- Release
UPDATE
S
SET
ReleaseCount = CASE
WHEN L.WaferCount > 0 THEN L.WaferCount
ELSE L.DieCount
END,
ScrapCount = 0
FROM
ScrapLot S
INNER JOIN Lot L ON S.IssueID = L.IssueID
AND S.LotNo = L.LotNumber
WHERE
S.IssueID = @IssueID
ELSE IF @LotStatus = 2 -- Scrap
BEGIN
UPDATE
S
SET
ScrapCount = CASE
WHEN L.WaferCount > 0 THEN L.WaferCount
ELSE L.DieCount
END,
ReleaseCount = 0
FROM
ScrapLot S
INNER JOIN Lot L ON S.IssueID = L.IssueID
AND S.LotNo = L.LotNumber
WHERE
S.IssueID = @IssueID
END
ELSE IF @LotStatus = 3
OR @LotStatus = 5
OR @LotStatus = 7 -- Not Avaialble OR M_SUFFIX OR SPlit Off Hold
BEGIN
UPDATE
S
SET
ScrapCount = 0,
ReleaseCount = 0
FROM
ScrapLot S
INNER JOIN Lot L ON S.IssueID = L.IssueID
AND S.LotNo = L.LotNumber
WHERE
S.IssueID = @IssueID
END
UPDATE
ScrapLot
SET
Lot1State = @Lot1State,
Lot2State = @Lot2State,
Lot3State = @Lot3State,
Lot4State = @Lot4State,
Lot5State = @Lot5State,
Lot6State = @Lot6State,
Lot7State = @Lot7State,
Lot8State = @Lot8State,
Lot9State = @Lot9State,
Lot10State = @Lot10State,
Lot11State = @Lot11State,
Lot12State = @Lot12State,
Lot13State = @Lot13State,
Lot14State = @Lot14State,
Lot15State = @Lot15State,
Lot16State = @Lot16State,
Lot17State = @Lot17State,
Lot18State = @Lot18State,
Lot19State = @Lot19State,
Lot20State = @Lot20State,
Lot21State = @Lot21State,
Lot22State = @Lot22State,
Lot23State = @Lot23State,
Lot24State = @Lot24State,
Lot25State = @Lot25State,
Lot26State = @Lot26State,
Lot27State = @Lot27State,
Lot28State = @Lot28State,
Lot29State = @Lot29State,
Lot30State = @Lot30State,
Lot31State = @Lot31State,
Lot32State = @Lot32State,
Lot33State = @Lot33State,
Lot34State = @Lot34State,
Lot35State = @Lot35State,
Lot36State = @Lot36State,
Lot37State = @Lot37State,
Lot38State = @Lot38State,
Lot39State = @Lot39State,
Lot40State = @Lot40State,
Lot41State = @Lot41State,
Lot42State = @Lot42State,
Lot43State = @Lot43State,
Lot44State = @Lot44State,
Lot45State = @Lot45State,
Lot46State = @Lot46State,
Lot47State = @Lot47State,
Lot48State = @Lot48State,
Lot49State = @Lot49State,
Lot50State = @Lot50State
WHERE
IssueID = @IssueID
UPDATE
LotDisposition
SET
LastUpdateDate = GETDATE()
WHERE
IssueID = @IssueID
END
GO