-- ================================================ -- Template generated from Template Explorer using: -- Create Procedure (New Menu).SQL -- -- Use the Specify Values for Template Parameters -- command (Ctrl-Shift-M) to fill in the parameter -- values below. -- -- This block of comments will not be included in -- the definition of the procedure. -- ================================================ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: 曹嘉杰 -- Create date: 2022/8/25 -- Description: 获取报废数量 -- ============================================= IF (EXISTS (SELECT * FROM SYS.OBJECTS WHERE NAME = 'SP_Cust_PDA_GetScrapQty')) DROP PROC SP_Cust_PDA_GetScrapQty GO CREATE PROCEDURE SP_Cust_PDA_GetScrapQty -- Add the parameters for the stored procedure here @BarCodes AS NVARCHAR(MAX), @OrgCode AS NVARCHAR(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @SQL NVARCHAR(MAX) DECLARE @OrgID BIGINT SELECT @OrgID = ID FROM Base_Organization WHERE Code = @OrgCode IF OBJECT_ID('tempdb..#TempBarCodeTable') IS NOT NULL BEGIN DROP TABLE #TempBarCodeTable END CREATE TABLE #TempBarCodeTable ( BarCode NVARCHAR(500) ) SET @SQL = 'INSERT INTO #TempBarCodeTable SELECT ''' + REPLACE (@BarCodes,',',''' AS BarCode UNION SELECT ''') + '''' EXEC(@SQL) SELECT COUNT(DISTINCT CASE WHEN (SUBSTRING(Code, 1, 1) = 'C' AND LEN(Code) = 16) THEN SUBSTRING(Code, 1, 9) + '_' + SUBSTRING(Code, 12, 5) ELSE SUBSTRING(Code, 1, LEN(Code) - 5) END) AS ScrapQty FROM BC_BarCode WHERE Code IN (SELECT BarCode FROM #TempBarCodeTable) -- AND Org = @OrgID AND ISNULL(Segment78, 1) <> 1 END GO -- EXEC SP_Cust_PDA_GetScrapQty @BarCodes = '110-MO-110-2207210003,11019999-00012-11000000051110-MO-110-2208240023-00024,11019999-00012-11000000051110-MO-110-2208240023-00006,11019999-00012-11000000051110-MO-110-2208240023-00001,11019999-00012-11000000051110-MO-110-2208240023-00002,11019999-00012-11000000051110-MO-110-2208240023-00003,11019999-00012-11000000051110-MO-110-2208240023-00004,11019999-00012-11000000051110-MO-110-2208240023-00005,11019999-00012-11000000051110-MO-110-2208240023-00007,11019999-00012-11000000051110-MO-110-2208240023-00008', @OrgCode = '110' --EXEC SP_Cust_PDA_GetScrapQty @BarCodes = 'C220829020100005,C220829020200005,C220825020200001,11019999-00012-110-PO1102208300002-10-00002,11019999-00012-110-PO1102208300002-10-00003,11019999-00012-110-PO1102208300002-10-00004,11019999-00012-110-PO1102208300002-10-00005,M2120201-00030-110-PO1102208300002-20-00001', @OrgCode = '110'