Project

General

Profile

[ASS_INVENTORY_UNSTOCKED_Ins].txt

Luc Tran Van, 04/25/2023 04:38 PM

 
1
CREATE PROCEDURE [dbo].[ASS_INVENTORY_UNSTOCKED_Ins] 
2
	@p_LIST_UNSTOCKED	XML = NULL
3
AS	
4
BEGIN
5
BEGIN TRANSACTION
6
	Declare @hdoc INT
7
	DECLARE @ERRORSYS NVARCHAR(100) = '' 	
8
	Exec sp_xml_preparedocument @hdoc Output, @p_LIST_UNSTOCKED	
9

    
10
	DECLARE UnstockedDetail CURSOR FOR
11
	SELECT *
12
	FROM OPENXML(@hDoc,'/Root/UnstockedDetail',2)
13
	WITH 
14
	(
15
		UNSTOCKED_ID varchar(15),
16
		INVENT_ID varchar(15) ,
17
		ASS_NAME nvarchar(1000) ,
18
		SERIAL nvarchar(max) ,
19
		BRANCH_ID nvarchar(200) ,
20
		DEPT_ID nvarchar(200) ,
21
		USE_DATE varchar(25) 
22
	)		
23
	OPEN UnstockedDetail
24

    
25
	DECLARE @UNSTOCKED_ID varchar(15),
26
			@INVENT_ID varchar(15),
27
			@ASS_NAME nvarchar(1000),
28
			@SERIAL nvarchar(max),
29
			@BRANCH_ID nvarchar(200),
30
			@DEPT_ID nvarchar(200),
31
			@USE_DATE varchar(25)
32
	
33
	FETCH NEXT FROM UnstockedDetail INTO @UNSTOCKED_ID, @INVENT_ID, @ASS_NAME, @SERIAL, @BRANCH_ID, @DEPT_ID, @USE_DATE	
34
	WHILE @@FETCH_STATUS = 0	
35
	BEGIN		
36
		-- Kiểm tra [INVENT_ID] KHÔNG TỒn TẠi
37
		IF(NOT EXISTS( SELECT 1 FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @INVENT_ID))
38
		BEGIN
39
			SET @ERRORSYS = N'Không tồn tại INVENT_ID: ' + @INVENT_ID
40
			GOTO ABORT
41
		END
42

    
43
		EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_UNSTOCKED', @UNSTOCKED_ID OUT
44
		IF @UNSTOCKED_ID='' OR @UNSTOCKED_ID IS NULL GOTO ABORT		
45
	
46
		INSERT INTO [dbo].[ASS_INVENTORY_UNSTOCKED] (
47
			[UNSTOCKED_ID]
48
           ,[INVENT_ID]
49
           ,[ASS_NAME]
50
           ,[SERIAL]
51
           ,[BRANCH_ID]
52
           ,[DEPT_ID]
53
           ,[USE_DATE])
54
		VALUES (
55
			@UNSTOCKED_ID, 
56
			@INVENT_ID, 
57
			@ASS_NAME, 
58
			@SERIAL, 
59
			@BRANCH_ID, 
60
			@DEPT_ID, 
61
			CONVERT(DATETIME, @USE_DATE, 103)
62
		)
63
		IF @@Error <> 0 GOTO ABORT	
64
	
65
		FETCH NEXT FROM UnstockedDetail INTO @UNSTOCKED_ID, @INVENT_ID, @ASS_NAME, @SERIAL, @BRANCH_ID, @DEPT_ID, @USE_DATE
66
	END
67
	CLOSE UnstockedDetail
68
	DEALLOCATE UnstockedDetail
69
		
70
	COMMIT TRANSACTION
71
	SELECT '0' as Result, '' id, '' ErrorDesc
72
	RETURN '0'
73
	ABORT:
74
	BEGIN
75
			CLOSE UnstockedDetail
76
			DEALLOCATE UnstockedDetail
77
			ROLLBACK TRANSACTION
78
			SELECT '-1' as Result, '' id, @ERRORSYS ErrorDesc
79
			RETURN '-1'
80
	End
81

    
82
END