存储过程

USE [TraceabilityDB]
GO
/****** Object:  Trigger [dbo].[T_COILINFO_RECORD]    Script Date: 02/06/2014 11:27:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*--------------------------------------------------
開始終了報告テーブルINSERT時の処理
  ・開始終了テーブルをオーダーNo, コイルNoごとに展開してコイル実績情報表示テーブルを更新
  ・開始終了テーブルをオーダーNo, コイルNoごとに展開してコイル状態テーブルを更新
--------------------------------------------------*/
ALTER TRIGGER [dbo].[T_COILINFO_RECORD] ON [dbo].[T_STARTENDDATA] AFTER INSERT
AS

SET NOCOUNT ON

DECLARE @i				INT				-- ループカウンタ
DECLARE @coilCount		INT				-- コイル数

DECLARE @message		NVARCHAR(MAX)	-- エラーメッセージバッファ

DECLARE @orderNo		NVARCHAR(10)	-- オーダーNoバッファ
DECLARE @coilNo		NVARCHAR(4)			-- コイルNoバッファ
DECLARE @serialNo		NVARCHAR(14)	-- シリアルNoバッファ
DECLARE @count			INT				-- 既存レコード件数バッファ
DECLARE @startTime		NVARCHAR(16)	-- 開始日時バッファ
DECLARE @endTime		NVARCHAR(16)	-- 終了日時バッファ


--T_STARTENDDATA fields
DECLARE @ID int
DECLARE @SEQUENCENO bigint
DECLARE @EQUIPMENTCODE nvarchar(4)
DECLARE @EQUIPMENTDETAILCODE1 nvarchar(4)
DECLARE @EQUIPMENTDETAILCODE2 nvarchar(4)
DECLARE @SENDYEAR int
DECLARE @SENDMONTH int
DECLARE @SENDDAY int
DECLARE @SENDHOUR int
DECLARE @SENDMINUTE int
DECLARE @STARTENDFLG int
DECLARE @ORDERNO1 nvarchar(10)
DECLARE @COILNO1 nvarchar(4)
DECLARE @ORDERNO2 nvarchar(10)
DECLARE @COILNO2 nvarchar(4)
DECLARE @ORDERNO3 nvarchar(10)
DECLARE @COILNO3 nvarchar(4)
DECLARE @ORDERNO4 nvarchar(10)
DECLARE @COILNO4 nvarchar(4)
DECLARE @ORDERNO5 nvarchar(10)
DECLARE @COILNO5 nvarchar(4)
DECLARE @ORDERNO6 nvarchar(10)
DECLARE @COILNO6 nvarchar(4)
DECLARE @ORDERNO7 nvarchar(10)
DECLARE @COILNO7 nvarchar(4)
DECLARE @ORDERNO8 nvarchar(10)
DECLARE @COILNO8 nvarchar(4)
DECLARE @ORDERNO9 nvarchar(10)
DECLARE @COILNO9 nvarchar(4)
DECLARE @ORDERNO10 nvarchar(10)
DECLARE @COILNO10 nvarchar(4)
DECLARE @ORDERNO11 nvarchar(10)
DECLARE @COILNO11 nvarchar(4)
DECLARE @ORDERNO12 nvarchar(10)
DECLARE @COILNO12 nvarchar(4)
DECLARE @ORDERNO13 nvarchar(10)
DECLARE @COILNO13 nvarchar(4)
DECLARE @ORDERNO14 nvarchar(10)
DECLARE @COILNO14 nvarchar(4)
DECLARE @ORDERNO15 nvarchar(10)
DECLARE @COILNO15 nvarchar(4)
DECLARE @ORDERNO16 nvarchar(10)
DECLARE @COILNO16 nvarchar(4)
DECLARE @ORDERNO17 nvarchar(10)
DECLARE @COILNO17 nvarchar(4)
DECLARE @ORDERNO18 nvarchar(10)
DECLARE @COILNO18 nvarchar(4)
DECLARE @ORDERNO19 nvarchar(10)
DECLARE @COILNO19 nvarchar(4)
DECLARE @ORDERNO20 nvarchar(10)
DECLARE @COILNO20 nvarchar(4)
DECLARE @ORDERNO21 nvarchar(10)
DECLARE @COILNO21 nvarchar(4)
DECLARE @ORDERNO22 nvarchar(10)
DECLARE @COILNO22 nvarchar(4)
DECLARE @ORDERNO23 nvarchar(10)
DECLARE @COILNO23 nvarchar(4)
DECLARE @ORDERNO24 nvarchar(10)
DECLARE @COILNO24 nvarchar(4)
DECLARE @ORDERNO25 nvarchar(10)
DECLARE @COILNO25 nvarchar(4)
DECLARE @ORDERNO26 nvarchar(10)
DECLARE @COILNO26 nvarchar(4)
DECLARE @ORDERNO27 nvarchar(10)
DECLARE @COILNO27 nvarchar(4)
DECLARE @ORDERNO28 nvarchar(10)
DECLARE @COILNO28 nvarchar(4)
DECLARE @ORDERNO29 nvarchar(10)
DECLARE @COILNO29 nvarchar(4)
DECLARE @ORDERNO30 nvarchar(10)
DECLARE @COILNO30 nvarchar(4)
DECLARE @ORDERNO31 nvarchar(10)
DECLARE @COILNO31 nvarchar(4)
DECLARE @ORDERNO32 nvarchar(10)
DECLARE @COILNO32 nvarchar(4)
DECLARE @ORDERNO33 nvarchar(10)
DECLARE @COILNO33 nvarchar(4)
DECLARE @ORDERNO34 nvarchar(10)
DECLARE @COILNO34 nvarchar(4)
DECLARE @ORDERNO35 nvarchar(10)
DECLARE @COILNO35 nvarchar(4)
DECLARE @ORDERNO36 nvarchar(10)
DECLARE @COILNO36 nvarchar(4)
DECLARE @ORDERNO37 nvarchar(10)
DECLARE @COILNO37 nvarchar(4)
DECLARE @ORDERNO38 nvarchar(10)
DECLARE @COILNO38 nvarchar(4)
DECLARE @ORDERNO39 nvarchar(10)
DECLARE @COILNO39 nvarchar(4)
DECLARE @ORDERNO40 nvarchar(10)
DECLARE @COILNO40 nvarchar(4)
DECLARE @ORDERNO41 nvarchar(10)
DECLARE @COILNO41 nvarchar(4)
DECLARE @ORDERNO42 nvarchar(10)
DECLARE @COILNO42 nvarchar(4)
DECLARE @ORDERNO43 nvarchar(10)
DECLARE @COILNO43 nvarchar(4)
DECLARE @ORDERNO44 nvarchar(10)
DECLARE @COILNO44 nvarchar(4)
DECLARE @ORDERNO45 nvarchar(10)
DECLARE @COILNO45 nvarchar(4)
DECLARE @ORDERNO46 nvarchar(10)
DECLARE @COILNO46 nvarchar(4)
DECLARE @ORDERNO47 nvarchar(10)
DECLARE @COILNO47 nvarchar(4)
DECLARE @ORDERNO48 nvarchar(10)
DECLARE @COILNO48 nvarchar(4)
DECLARE @ORDERNO49 nvarchar(10)
DECLARE @COILNO49 nvarchar(4)
DECLARE @ORDERNO50 nvarchar(10)
DECLARE @COILNO50 nvarchar(4)
DECLARE @ORDERNO51 nvarchar(10)
DECLARE @COILNO51 nvarchar(4)
DECLARE @ORDERNO52 nvarchar(10)
DECLARE @COILNO52 nvarchar(4)
DECLARE @ORDERNO53 nvarchar(10)
DECLARE @COILNO53 nvarchar(4)
DECLARE @ORDERNO54 nvarchar(10)
DECLARE @COILNO54 nvarchar(4)
DECLARE @ORDERNO55 nvarchar(10)
DECLARE @COILNO55 nvarchar(4)
DECLARE @ORDERNO56 nvarchar(10)
DECLARE @COILNO56 nvarchar(4)
DECLARE @ORDERNO57 nvarchar(10)
DECLARE @COILNO57 nvarchar(4)
DECLARE @ORDERNO58 nvarchar(10)
DECLARE @COILNO58 nvarchar(4)
DECLARE @ORDERNO59 nvarchar(10)
DECLARE @COILNO59 nvarchar(4)
DECLARE @ORDERNO60 nvarchar(10)
DECLARE @COILNO60 nvarchar(4)
DECLARE @PROCESSCOUNT int
DECLARE @PROCESSSTEP nvarchar(20)
DECLARE @BARCODEFLG int
DECLARE @WORKERCODE1 nvarchar(10)
DECLARE @WORKERCODE2 nvarchar(10)
DECLARE @WORKERCODE3 nvarchar(10)
DECLARE @WORKERCODE4 nvarchar(10)
DECLARE @WORKERCODE5 nvarchar(10)
DECLARE @ITEMNO1 int
DECLARE @ITEMNO2 int
DECLARE @ITEMNO3 int
DECLARE @ITEMNO4 int
DECLARE @ITEMNO5 int
DECLARE @ITEMNO6 int
DECLARE @ITEMNO7 int
DECLARE @ITEMNO8 int
DECLARE @ITEMNO9 int
DECLARE @ITEMNO10 int
DECLARE @ITEMNO11 int
DECLARE @ITEMNO12 int
DECLARE @ITEMNO13 int
DECLARE @ITEMNO14 int
DECLARE @ITEMNO15 int
DECLARE @ITEMNO16 int
DECLARE @ITEMNO17 int
DECLARE @ITEMNO18 int
DECLARE @ITEMNO19 int
DECLARE @ITEMNO20 int
DECLARE @VALUE1 int
DECLARE @VALUE2 int
DECLARE @VALUE3 int
DECLARE @VALUE4 int
DECLARE @VALUE5 int
DECLARE @VALUE6 int
DECLARE @VALUE7 int
DECLARE @VALUE8 int
DECLARE @VALUE9 int
DECLARE @VALUE10 int
DECLARE @VALUE11 nvarchar(10)
DECLARE @VALUE12 nvarchar(10)
DECLARE @VALUE13 nvarchar(10)
DECLARE @VALUE14 nvarchar(10)
DECLARE @VALUE15 nvarchar(10)
DECLARE @VALUE16 nvarchar(10)
DECLARE @VALUE17 nvarchar(10)
DECLARE @VALUE18 nvarchar(10)
DECLARE @VALUE19 nvarchar(10)
DECLARE @VALUE20 nvarchar(10)

/*最新ID取得*/
SET @ID = (SELECT MAX(ID) FROM T_STARTENDDATA)

/*レコード取得*/
DECLARE StartEndCur CURSOR FOR
SELECT
	EQUIPMENTCODE, EQUIPMENTDETAILCODE1, EQUIPMENTDETAILCODE2
	, SENDYEAR, SENDMONTH, SENDDAY, SENDHOUR, SENDMINUTE
	, STARTENDFLG
	, ORDERNO1, COILNO1, ORDERNO2, COILNO2, ORDERNO3, COILNO3, ORDERNO4, COILNO4, ORDERNO5, COILNO5, ORDERNO6, COILNO6, ORDERNO7, COILNO7, ORDERNO8, COILNO8, ORDERNO9, COILNO9, ORDERNO10, COILNO10
	, ORDERNO11, COILNO11, ORDERNO12, COILNO12, ORDERNO13, COILNO13, ORDERNO14, COILNO14, ORDERNO15, COILNO15, ORDERNO16, COILNO16, ORDERNO17, COILNO17, ORDERNO18, COILNO18, ORDERNO19, COILNO19, ORDERNO20, COILNO20
	, ORDERNO21, COILNO21, ORDERNO22, COILNO22, ORDERNO23, COILNO23, ORDERNO24, COILNO24, ORDERNO25, COILNO25, ORDERNO26, COILNO26, ORDERNO27, COILNO27, ORDERNO28, COILNO28, ORDERNO29, COILNO29, ORDERNO30, COILNO30
	, ORDERNO31, COILNO31, ORDERNO32, COILNO32, ORDERNO33, COILNO33, ORDERNO34, COILNO34, ORDERNO35, COILNO35, ORDERNO36, COILNO36, ORDERNO37, COILNO37, ORDERNO38, COILNO38, ORDERNO39, COILNO39, ORDERNO40, COILNO40
	, ORDERNO41, COILNO41, ORDERNO42, COILNO42, ORDERNO43, COILNO43, ORDERNO44, COILNO44, ORDERNO45, COILNO45, ORDERNO46, COILNO46, ORDERNO47, COILNO47, ORDERNO48, COILNO48, ORDERNO49, COILNO49, ORDERNO50, COILNO50
	, ORDERNO51, COILNO51, ORDERNO52, COILNO52, ORDERNO53, COILNO53, ORDERNO54, COILNO54, ORDERNO55, COILNO55, ORDERNO56, COILNO56, ORDERNO57, COILNO57, ORDERNO58, COILNO58, ORDERNO59, COILNO59, ORDERNO60, COILNO60
	, PROCESSCOUNT, PROCESSSTEP, BARCODEFLG
	, WORKERCODE1, WORKERCODE2, WORKERCODE3, WORKERCODE4, WORKERCODE5
	, ITEMNO1, VALUE1, ITEMNO2, VALUE2, ITEMNO3, VALUE3, ITEMNO4, VALUE4, ITEMNO5, VALUE5, ITEMNO6, VALUE6, ITEMNO7, VALUE7, ITEMNO8, VALUE8, ITEMNO9, VALUE9, ITEMNO10, VALUE10
	, ITEMNO11, VALUE11, ITEMNO12, VALUE12, ITEMNO13, VALUE13, ITEMNO14, VALUE14, ITEMNO15, VALUE15, ITEMNO16, VALUE16, ITEMNO17, VALUE17, ITEMNO18, VALUE18, ITEMNO19, VALUE19, ITEMNO20, VALUE20
FROM
	T_STARTENDDATA
WHERE
	ID = @ID

BEGIN TRY

	BEGIN TRANSACTION

	OPEN StartEndCur
	FETCH NEXT FROM StartEndCur INTO
		@EQUIPMENTCODE, @EQUIPMENTDETAILCODE1, @EQUIPMENTDETAILCODE2
		, @SENDYEAR, @SENDMONTH, @SENDDAY, @SENDHOUR, @SENDMINUTE
		, @STARTENDFLG
		, @ORDERNO1, @COILNO1, @ORDERNO2, @COILNO2, @ORDERNO3, @COILNO3, @ORDERNO4, @COILNO4, @ORDERNO5, @COILNO5, @ORDERNO6, @COILNO6, @ORDERNO7, @COILNO7, @ORDERNO8, @COILNO8, @ORDERNO9, @COILNO9, @ORDERNO10, @COILNO10
		, @ORDERNO11, @COILNO11, @ORDERNO12, @COILNO12, @ORDERNO13, @COILNO13, @ORDERNO14, @COILNO14, @ORDERNO15, @COILNO15, @ORDERNO16, @COILNO16, @ORDERNO17, @COILNO17, @ORDERNO18, @COILNO18, @ORDERNO19, @COILNO19, @ORDERNO20, @COILNO20
		, @ORDERNO21, @COILNO21, @ORDERNO22, @COILNO22, @ORDERNO23, @COILNO23, @ORDERNO24, @COILNO24, @ORDERNO25, @COILNO25, @ORDERNO26, @COILNO26, @ORDERNO27, @COILNO27, @ORDERNO28, @COILNO28, @ORDERNO29, @COILNO29, @ORDERNO30, @COILNO30
		, @ORDERNO31, @COILNO31, @ORDERNO32, @COILNO32, @ORDERNO33, @COILNO33, @ORDERNO34, @COILNO34, @ORDERNO35, @COILNO35, @ORDERNO36, @COILNO36, @ORDERNO37, @COILNO37, @ORDERNO38, @COILNO38, @ORDERNO39, @COILNO39, @ORDERNO40, @COILNO40
		, @ORDERNO41, @COILNO41, @ORDERNO42, @COILNO42, @ORDERNO43, @COILNO43, @ORDERNO44, @COILNO44, @ORDERNO45, @COILNO45, @ORDERNO46, @COILNO46, @ORDERNO47, @COILNO47, @ORDERNO48, @COILNO48, @ORDERNO49, @COILNO49, @ORDERNO50, @COILNO50
		, @ORDERNO51, @COILNO51, @ORDERNO52, @COILNO52, @ORDERNO53, @COILNO53, @ORDERNO54, @COILNO54, @ORDERNO55, @COILNO55, @ORDERNO56, @COILNO56, @ORDERNO57, @COILNO57, @ORDERNO58, @COILNO58, @ORDERNO59, @COILNO59, @ORDERNO60, @COILNO60
		, @PROCESSCOUNT, @PROCESSSTEP, @BARCODEFLG
		, @WORKERCODE1, @WORKERCODE2, @WORKERCODE3, @WORKERCODE4, @WORKERCODE5
		, @ITEMNO1, @VALUE1, @ITEMNO2, @VALUE2, @ITEMNO3, @VALUE3, @ITEMNO4, @VALUE4, @ITEMNO5, @VALUE5, @ITEMNO6, @VALUE6, @ITEMNO7, @VALUE7, @ITEMNO8, @VALUE8, @ITEMNO9, @VALUE9, @ITEMNO10, @VALUE10
		, @ITEMNO11, @VALUE11, @ITEMNO12, @VALUE12, @ITEMNO13, @VALUE13, @ITEMNO14, @VALUE14, @ITEMNO15, @VALUE15, @ITEMNO16, @VALUE16, @ITEMNO17, @VALUE17, @ITEMNO18, @VALUE18, @ITEMNO19, @VALUE19, @ITEMNO20, @VALUE20

	--バーコードフラグ無のチェック
	IF (@BARCODEFLG = 0)
	BEGIN
		SET @message = 'バーコード無し'
		PRINT(@message)
		CLOSE StartEndCur
		DEALLOCATE StartEndCur
		COMMIT TRANSACTION
		RETURN
	END

	--開始/終了日時
	IF (@STARTENDFLG = 0)
	BEGIN
		SET @startTime = 
			CAST(RIGHT('0000' +	CAST(@SENDYEAR AS VARCHAR), 4) AS NVARCHAR) + '/' +
			CAST(RIGHT('00' +		CAST(@SENDMONTH AS VARCHAR), 2) AS NVARCHAR) + '/' +
			CAST(RIGHT('00' +		CAST(@SENDDAY AS VARCHAR), 2) AS NVARCHAR) + ' ' +
			CAST(RIGHT('00' +		CAST(@SENDHOUR AS VARCHAR), 2) AS NVARCHAR) + ':' +
			CAST(RIGHT('00' +		CAST(@SENDMINUTE AS VARCHAR), 2) AS NVARCHAR)
		SET @endTime = null
	END
	ELSE IF (@STARTENDFLG = 1)
	BEGIN
		SET @startTime = null
		SET @endTime = 
			CAST(RIGHT('0000' +	CAST(@SENDYEAR AS VARCHAR), 4) AS NVARCHAR) + '/' +
			CAST(RIGHT('00' +		CAST(@SENDMONTH AS VARCHAR), 2) AS NVARCHAR) + '/' +
			CAST(RIGHT('00' +		CAST(@SENDDAY AS VARCHAR), 2) AS NVARCHAR) + ' ' +
			CAST(RIGHT('00' +		CAST(@SENDHOUR AS VARCHAR), 2) AS NVARCHAR) + ':' +
			CAST(RIGHT('00' +		CAST(@SENDMINUTE AS VARCHAR), 2) AS NVARCHAR)
	END

	--コイル数分繰り返す
	SET @i = 0
	WHILE (@i <= @PROCESSCOUNT)
	BEGIN
  
		SET @orderNo = null
		SET @coilNo = null
		
		PRINT '----コイル数分 :' + CAST(@i AS nvarchar) + '-------PROCESSCOUNT :' +  CAST(@PROCESSCOUNT AS nvarchar)

		IF (@i = 1)
		BEGIN
			SET @orderNo = @ORDERNO1
			SET @coilNo = @COILNO1
		END
		ELSE IF (@i = 2)
		BEGIN
			SET @orderNo = @ORDERNO2
			SET @coilNo = @COILNO2
		END
		ELSE IF (@i = 3)
		BEGIN
			SET @orderNo = @ORDERNO3
			SET @coilNo = @COILNO3
		END
		ELSE IF (@i = 4)
		BEGIN
			SET @orderNo = @ORDERNO4
			SET @coilNo = @COILNO4
		END
		ELSE IF (@i = 5)
		BEGIN
			SET @orderNo = @ORDERNO5
			SET @coilNo = @COILNO5
		END
		ELSE IF (@i = 6)
		BEGIN
			SET @orderNo = @ORDERNO6
			SET @coilNo = @COILNO6
		END
		ELSE IF (@i = 7)
		BEGIN
			SET @orderNo = @ORDERNO7
			SET @coilNo = @COILNO7
		END
		ELSE IF (@i = 8)
		BEGIN
			SET @orderNo = @ORDERNO8
			SET @coilNo = @COILNO8
		END
		ELSE IF (@i = 9)
		BEGIN
			SET @orderNo = @ORDERNO9
			SET @coilNo = @COILNO9
		END
		ELSE IF (@i = 10)
		BEGIN
			SET @orderNo = @ORDERNO10
			SET @coilNo = @COILNO10
		END
		ELSE IF (@i = 11)
		BEGIN
			SET @orderNo = @ORDERNO11
			SET @coilNo = @COILNO11
		END
		ELSE IF (@i = 12)
		BEGIN
			SET @orderNo = @ORDERNO12
			SET @coilNo = @COILNO12
		END
		ELSE IF (@i = 13)
		BEGIN
			SET @orderNo = @ORDERNO13
			SET @coilNo = @COILNO13
		END
		ELSE IF (@i = 14)
		BEGIN
			SET @orderNo = @ORDERNO14
			SET @coilNo = @COILNO14
		END
		ELSE IF (@i = 15)
		BEGIN
			SET @orderNo = @ORDERNO15
			SET @coilNo = @COILNO15
		END
		ELSE IF (@i = 16)
		BEGIN
			SET @orderNo = @ORDERNO16
			SET @coilNo = @COILNO16
		END
		ELSE IF (@i = 17)
		BEGIN
			SET @orderNo = @ORDERNO17
			SET @coilNo = @COILNO17
		END
		ELSE IF (@i = 18)
		BEGIN
			SET @orderNo = @ORDERNO18
			SET @coilNo = @COILNO18
		END
		ELSE IF (@i = 19)
		BEGIN
			SET @orderNo = @ORDERNO19
			SET @coilNo = @COILNO19
		END
		ELSE IF (@i = 20)
		BEGIN
			SET @orderNo = @ORDERNO20
			SET @coilNo = @COILNO20
		END
		ELSE IF (@i = 21)
		BEGIN
			SET @orderNo = @ORDERNO21
			SET @coilNo = @COILNO21
		END
		ELSE IF (@i = 22)
		BEGIN
			SET @orderNo = @ORDERNO22
			SET @coilNo = @COILNO22
		END
		ELSE IF (@i = 23)
		BEGIN
			SET @orderNo = @ORDERNO23
			SET @coilNo = @COILNO23
		END
		ELSE IF (@i = 24)
		BEGIN
			SET @orderNo = @ORDERNO24
			SET @coilNo = @COILNO24
		END
		ELSE IF (@i = 25)
		BEGIN
			SET @orderNo = @ORDERNO25
			SET @coilNo = @COILNO25
		END
		ELSE IF (@i = 26)
		BEGIN
			SET @orderNo = @ORDERNO26
			SET @coilNo = @COILNO26
		END
		ELSE IF (@i = 27)
		BEGIN
			SET @orderNo = @ORDERNO27
			SET @coilNo = @COILNO27
		END
		ELSE IF (@i = 28)
		BEGIN
			SET @orderNo = @ORDERNO28
			SET @coilNo = @COILNO28
		END
		ELSE IF (@i = 29)
		BEGIN
			SET @orderNo = @ORDERNO29
			SET @coilNo = @COILNO29
		END
		ELSE IF (@i = 30)
		BEGIN
			SET @orderNo = @ORDERNO30
			SET @coilNo = @COILNO30
		END
		ELSE IF (@i = 31)
		BEGIN
			SET @orderNo = @ORDERNO31
			SET @coilNo = @COILNO31
		END
		ELSE IF (@i = 32)
		BEGIN
			SET @orderNo = @ORDERNO32
			SET @coilNo = @COILNO32
		END
		ELSE IF (@i = 33)
		BEGIN
			SET @orderNo = @ORDERNO33
			SET @coilNo = @COILNO33
		END
		ELSE IF (@i = 34)
		BEGIN
			SET @orderNo = @ORDERNO34
			SET @coilNo = @COILNO34
		END
		ELSE IF (@i = 35)
		BEGIN
			SET @orderNo = @ORDERNO35
			SET @coilNo = @COILNO35
		END
		ELSE IF (@i = 36)
		BEGIN
			SET @orderNo = @ORDERNO36
			SET @coilNo = @COILNO36
		END
		ELSE IF (@i = 37)
		BEGIN
			SET @orderNo = @ORDERNO37
			SET @coilNo = @COILNO37
		END
		ELSE IF (@i = 38)
		BEGIN
			SET @orderNo = @ORDERNO38
			SET @coilNo = @COILNO38
		END
		ELSE IF (@i = 39)
		BEGIN
			SET @orderNo = @ORDERNO39
			SET @coilNo = @COILNO39
		END
		ELSE IF (@i = 40)
		BEGIN
			SET @orderNo = @ORDERNO40
			SET @coilNo = @COILNO40
		END
		ELSE IF (@i = 41)
		BEGIN
			SET @orderNo = @ORDERNO41
			SET @coilNo = @COILNO41
		END
		ELSE IF (@i = 42)
		BEGIN
			SET @orderNo = @ORDERNO42
			SET @coilNo = @COILNO42
		END
		ELSE IF (@i = 43)
		BEGIN
			SET @orderNo = @ORDERNO43
			SET @coilNo = @COILNO43
		END
		ELSE IF (@i = 44)
		BEGIN
			SET @orderNo = @ORDERNO44
			SET @coilNo = @COILNO44
		END
		ELSE IF (@i = 45)
		BEGIN
			SET @orderNo = @ORDERNO45
			SET @coilNo = @COILNO45
		END
		ELSE IF (@i = 46)
		BEGIN
			SET @orderNo = @ORDERNO46
			SET @coilNo = @COILNO46
		END
		ELSE IF (@i = 47)
		BEGIN
			SET @orderNo = @ORDERNO47
			SET @coilNo = @COILNO47
		END
		ELSE IF (@i = 48)
		BEGIN
			SET @orderNo = @ORDERNO48
			SET @coilNo = @COILNO48
		END
		ELSE IF (@i = 49)
		BEGIN
			SET @orderNo = @ORDERNO49
			SET @coilNo = @COILNO49
		END
		ELSE IF (@i = 50)
		BEGIN
			SET @orderNo = @ORDERNO50
			SET @coilNo = @COILNO50
		END
		ELSE IF (@i = 51)
		BEGIN
			SET @orderNo = @ORDERNO51
			SET @coilNo = @COILNO51
		END
		ELSE IF (@i = 52)
		BEGIN
			SET @orderNo = @ORDERNO52
			SET @coilNo = @COILNO52
		END
		ELSE IF (@i = 53)
		BEGIN
			SET @orderNo = @ORDERNO53
			SET @coilNo = @COILNO53
		END
		ELSE IF (@i = 54)
		BEGIN
			SET @orderNo = @ORDERNO54
			SET @coilNo = @COILNO54
		END
		ELSE IF (@i = 55)
		BEGIN
			SET @orderNo = @ORDERNO55
			SET @coilNo = @COILNO55
		END
		ELSE IF (@i = 56)
		BEGIN
			SET @orderNo = @ORDERNO56
			SET @coilNo = @COILNO56
		END
		ELSE IF (@i = 57)
		BEGIN
			SET @orderNo = @ORDERNO57
			SET @coilNo = @COILNO57
		END
		ELSE IF (@i = 58)
		BEGIN
			SET @orderNo = @ORDERNO58
			SET @coilNo = @COILNO58
		END
		ELSE IF (@i = 59)
		BEGIN
			SET @orderNo = @ORDERNO59
			SET @coilNo = @COILNO59
		END
		ELSE IF (@i = 60)
		BEGIN
			SET @orderNo = @ORDERNO60
			SET @coilNo = @COILNO60
		END   
		
	    SET @i = @i + 1

		--ORDERNO, COILNO未入力時
		IF (@orderNo is null OR @coilNo is null)
		BEGIN
			SET @message = 'オーダーNoまたはコイルNoがNULL オーダーNo:' + @orderNo + ' コイルNo:' + @coilNo
			PRINT(@message)
			CONTINUE
		END

		--コイルテーブルをチェック
		SELECT @serialNo = SERIALCODE FROM T_COIL
		WHERE
			ORDERNO = @orderNo
			AND COILNO = @coilNo
			AND HISTORYFLG = 0
			AND (DELETEFLG IS NULL OR DELETEFLG = 0)

		IF @serialNo IS NULL
		BEGIN
			SET @message = 'T_COILに該当なし オーダーNo:' + @orderNo + ' コイルNo:' + @coilNo
			PRINT(@message)
			CONTINUE
		END

		--コイル実績情報表示テーブルの既存レコードを確認
		SELECT @count = COUNT(*) FROM T_COILINFO
		WHERE
			SERIALNO = @serialNo
			AND EQUIPMENTCODE = @EQUIPMENTCODE
		
		PRINT '-----コイル数分++ :' + CAST(@i AS nvarchar)-----'
		PRINT 'コイルカウント数:'+CAST(@coilCount AS nvarchar)
		PRINT 'コイル数分 :' + CAST(@i AS nvarchar)
		PRINT 'PROCESSCOUNT :' +  CAST(@PROCESSCOUNT AS nvarchar)
		PRINT 'ORDERNO  : ' + @orderNo
		PRINT 'COILNO   : ' + @coilNo
		PRINT 'EQCODE   : ' + @EQUIPMENTCODE
		PRINT 'EQDETAIL1: ' + @EQUIPMENTDETAILCODE1
		PRINT 'コイル実績情報表示テーブル(T_COILINFO)の既存レコードを確認'		
		PRINT 'SERIALNO :		'	+ @serialNo
		PRINT 'COUNT    :		' + CAST(@count AS nvarchar)

		--コイル実績情報表示テーブルに追加または更新
		IF @count = 0
		BEGIN
			--新規
			INSERT INTO T_COILINFO VALUES (
				@serialNo
				, @EQUIPMENTCODE
				, @EQUIPMENTDETAILCODE1
				, @EQUIPMENTDETAILCODE2
				, @startTime
				, @endTime
				, @WORKERCODE1
				, @WORKERCODE2
				, @WORKERCODE3
				, @WORKERCODE4
				, @WORKERCODE5
				, @ITEMNO1, @VALUE1
				, @ITEMNO2, @VALUE2
				, @ITEMNO3, @VALUE3
				, @ITEMNO4, @VALUE4
				, @ITEMNO5, @VALUE5
				, @ITEMNO6, @VALUE6
				, @ITEMNO7, @VALUE7
				, @ITEMNO8, @VALUE8
				, @ITEMNO9, @VALUE9
				, @ITEMNO10, @VALUE10
				, @ITEMNO11, @VALUE11
				, @ITEMNO12, @VALUE12
				, @ITEMNO13, @VALUE13
				, @ITEMNO14, @VALUE14
				, @ITEMNO15, @VALUE15
				, @ITEMNO16, @VALUE16
				, @ITEMNO17, @VALUE17
				, @ITEMNO18, @VALUE18
				, @ITEMNO19, @VALUE19
				, @ITEMNO20, @VALUE20
				, GETDATE()
				, GETDATE()
				, 'T_STARTENDDATA'
				, 0
			)
			  PRINT 'INSERT  T_COILINFO'
		END
		ELSE
		BEGIN
			--更新
			IF (@STARTENDFLG = 0)		/*開始*/
			BEGIN
				UPDATE T_COILINFO 
				SET
				  EQUIPMENTCODE = @EQUIPMENTCODE
				  , EQUIPMENTDETAILCODE1 = @EQUIPMENTDETAILCODE1
				  , EQUIPMENTDETAILCODE2 = @EQUIPMENTDETAILCODE2
				  , STARTTIME = @startTime
				  , ENDTIME = null
				  , WORKERCODE1 = @WORKERCODE1
				  , WORKERCODE2 = @WORKERCODE2
				  , WORKERCODE3 = @WORKERCODE3
				  , WORKERCODE4 = @WORKERCODE4
				  , WORKERCODE5 = @WORKERCODE5
				  , ITEMNO1 = @ITEMNO1, VALUE1 = @VALUE1
				  , ITEMNO2 = @ITEMNO2, VALUE2 = @VALUE2
				  , ITEMNO3 = @ITEMNO3, VALUE3 = @VALUE3
				  , ITEMNO4 = @ITEMNO4, VALUE4 = @VALUE4
				  , ITEMNO5 = @ITEMNO5, VALUE5 = @VALUE5
				  , ITEMNO6 = @ITEMNO6, VALUE6 = @VALUE6
				  , ITEMNO7 = @ITEMNO7, VALUE7 = @VALUE7
				  , ITEMNO8 = @ITEMNO8, VALUE8 = @VALUE8
				  , ITEMNO9 = @ITEMNO9, VALUE9 = @VALUE9
				  , ITEMNO10 = @ITEMNO10, VALUE10 = @VALUE10
				  , ITEMNO11 = @ITEMNO11, VALUE11 = @VALUE11
				  , ITEMNO12 = @ITEMNO12, VALUE12 = @VALUE12
				  , ITEMNO13 = @ITEMNO13, VALUE13 = @VALUE13
				  , ITEMNO14 = @ITEMNO14, VALUE14 = @VALUE14
				  , ITEMNO15 = @ITEMNO15, VALUE15 = @VALUE15
				  , ITEMNO16 = @ITEMNO16, VALUE16 = @VALUE16
				  , ITEMNO17 = @ITEMNO17, VALUE17 = @VALUE17
				  , ITEMNO18 = @ITEMNO18, VALUE18 = @VALUE18
				  , ITEMNO19 = @ITEMNO19, VALUE19 = @VALUE19
				  , ITEMNO20 = @ITEMNO20, VALUE20 = @VALUE20
				  , UPDATETIME = GETDATE()
				  , UPUSER = 'T_STARTENDDATA'
				  , DELETEFLG = 0
				WHERE
				  SERIALNO = @serialNo
				  AND EQUIPMENTCODE = @EQUIPMENTCODE
				  --PRINT 'UPDATE T_COILINFO SERIALNO='+@serialNo +' EQUIPMENTCODE=' + @EQUIPMENTCODE
				  --PRINT '		  EQUIPMENTCODE ='''+ @EQUIPMENTCODE+''
				  
				  
				  PRINT 'UPDATE T_COILINFO '
			END
			ELSE IF (@STARTENDFLG = 1)	/*終了*/
			print '@STARTENDFLG = '+ @STARTENDFLG
			BEGIN
				UPDATE T_COILINFO 
				SET
				  EQUIPMENTCODE = @EQUIPMENTCODE
				  , EQUIPMENTDETAILCODE1 = @EQUIPMENTDETAILCODE1
				  , EQUIPMENTDETAILCODE2 = @EQUIPMENTDETAILCODE2
				  , ENDTIME = @endTime
				  , WORKERCODE1 = @WORKERCODE1
				  , WORKERCODE2 = @WORKERCODE2
				  , WORKERCODE3 = @WORKERCODE3
				  , WORKERCODE4 = @WORKERCODE4
				  , WORKERCODE5 = @WORKERCODE5
				  , ITEMNO1 = @ITEMNO1, VALUE1 = @VALUE1
				  , ITEMNO2 = @ITEMNO2, VALUE2 = @VALUE2
				  , ITEMNO3 = @ITEMNO3, VALUE3 = @VALUE3
				  , ITEMNO4 = @ITEMNO4, VALUE4 = @VALUE4
				  , ITEMNO5 = @ITEMNO5, VALUE5 = @VALUE5
				  , ITEMNO6 = @ITEMNO6, VALUE6 = @VALUE6
				  , ITEMNO7 = @ITEMNO7, VALUE7 = @VALUE7
				  , ITEMNO8 = @ITEMNO8, VALUE8 = @VALUE8
				  , ITEMNO9 = @ITEMNO9, VALUE9 = @VALUE9
				  , ITEMNO10 = @ITEMNO10, VALUE10 = @VALUE10
				  , ITEMNO11 = @ITEMNO11, VALUE11 = @VALUE11
				  , ITEMNO12 = @ITEMNO12, VALUE12 = @VALUE12
				  , ITEMNO13 = @ITEMNO13, VALUE13 = @VALUE13
				  , ITEMNO14 = @ITEMNO14, VALUE14 = @VALUE14
				  , ITEMNO15 = @ITEMNO15, VALUE15 = @VALUE15
				  , ITEMNO16 = @ITEMNO16, VALUE16 = @VALUE16
				  , ITEMNO17 = @ITEMNO17, VALUE17 = @VALUE17
				  , ITEMNO18 = @ITEMNO18, VALUE18 = @VALUE18
				  , ITEMNO19 = @ITEMNO19, VALUE19 = @VALUE19
				  , ITEMNO20 = @ITEMNO20, VALUE20 = @VALUE20
				  , UPDATETIME = GETDATE()
				  , UPUSER = 'T_STARTENDDATA'
				  , DELETEFLG = 0
				WHERE
				  SERIALNO = @serialNo
				  AND EQUIPMENTCODE = @EQUIPMENTCODE 
			END
				  PRINT 'UPDATE T_COILINFO222222 '
		END
		
		--コイル状態テーブルの既存レコードを確認
		SELECT @count = COUNT(*) FROM T_COILTRACKING
		WHERE SERIALNO = @serialNo

		--コイル状態テーブルに追加または更新
		DECLARE @coilStatusId int
		IF (@STARTENDFLG = 1 AND @EQUIPMENTCODE = 'A050'/*仕上げ乾燥*/)
		BEGIN
			SET @coilStatusId = 6	/*仕上げ完了*/
		END
		ELSE
		BEGIN
			SET @coilStatusId = 2	/*投入中*/
		END

		IF @count = 0
		BEGIN
			--新規
			INSERT INTO T_COILTRACKING VALUES (
				@serialNo
				, @EQUIPMENTCODE
				, @EQUIPMENTDETAILCODE1
				, @EQUIPMENTDETAILCODE2
				, @coilStatusId
				, NULL
				, 0
				, GETDATE()
				, GETDATE()
				, 'T_STARTENDDATA'
				, 0
			)
				  PRINT 'INSERT INTO T_COILTRACKING '
		END
		ELSE
		BEGIN
			--更新
			UPDATE T_COILTRACKING SET
				EQUIPMENTCODE = @EQUIPMENTCODE
				, EQUIPMENTDETAILCODE1 = @EQUIPMENTDETAILCODE1
				, EQUIPMENTDETAILCODE2 = @EQUIPMENTDETAILCODE2
				, COILSTATUSID = @coilStatusId
				, UPDATETIME = GETDATE()
				, UPUSER = 'T_STARTENDDATA'
				, DELETEFLG = 0
			WHERE
				SERIALNO = @serialNo
		END
  PRINT 'UPDATE T_COILTRACKING '
	END

	CLOSE StartEndCur
	DEALLOCATE StartEndCur

	COMMIT TRANSACTION

END TRY
BEGIN CATCH
	DEALLOCATE StartEndCur
	  PRINT 'ROLLBACK TRANSACTION '
	ROLLBACK TRANSACTION
	PRINT 'エラーが発生しました: ' + CAST(ERROR_MESSAGE() AS nvarchar ) + ' L:' + CAST(ERROR_LINE() AS nvarchar)
END CATCH



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值