Project

General

Profile

CAP NHAT LOI DINH KEM FILE.txt

Luc Tran Van, 08/18/2020 09:25 AM

 
1
USE [gAMSPro_VCCB_v2]
2
GO
3
/****** Object:  StoredProcedure [dbo].[CM_ATTACH_FILE_Upd_Xml_v2]    Script Date: 8/18/2020 9:20:31 AM ******/
4
SET ANSI_NULLS ON
5
GO
6
SET QUOTED_IDENTIFIER ON
7
GO
8

    
9

    
10
/*
11
SELECT * FROM CM_ATTACH_FILE
12
[dbo].[CM_ATTACH_FILE_Ins] '','','','','','',NULL,'','29/10/2013',''
13
INSERT INTO [dbo].[SYS_PREFIX](ID,Prefix,Description) VALUES('CM_ATTACH_FILE','CMA','FILE ĐÍNH KÉM')
14
*/
15

    
16
ALTER PROCEDURE [dbo].[CM_ATTACH_FILE_Upd_Xml_v2]
17
@p_REF_ID	varchar(15)  = null,
18
@p_AttachDetail	xml  = NULL,
19
@p_TYPE VARCHAR(20)= NULL
20
AS
21
Declare @hdoc INT
22
	Exec sp_xml_preparedocument @hdoc Output, @p_AttachDetail
23
	DECLARE attDetail CURSOR FOR
24
	SELECT *
25
	FROM OPENXML(@hDoc,'/Root/AttachDetail',2)
26
	WITH 
27
	(
28
	ATTACH_ID	varchar(15),
29
	[TYPE]	varchar(50),
30
	REF_ID	varchar(15),
31
	FILE_NAME_OLD	nvarchar(200),
32
	PATH_OLD	nvarchar(1000),
33
	FILE_NAME_NEW	nvarchar(200),
34
	PATH_NEW	nvarchar(1000),
35
	FILE_SIZE	decimal(18),
36
	FILE_TYPE	varchar(50),
37
	ATTACH_DT	VARCHAR(20),
38
	EMP_ID	varchar(15),
39
	[INDEX]	varchar(50),
40
	NOTES NVARCHAR(1000),
41
	IS_VIEW BIT
42
	)
43
	OPEN attDetail
44

    
45
BEGIN TRANSACTION
46
		Declare @ATTACH_ID VARCHAR(15), @TYPE varchar(50), @REF_ID varchar(15), @FILE_NAME_OLD	nvarchar(200), @PATH_OLD nvarchar(1000), @FILE_NAME_NEW nvarchar(200), 
47
		@PATH_NEW nvarchar(1000), @FILE_SIZE decimal(18), @FILE_TYPE varchar(50), @ATTACH_DT VARCHAR(20), @EMP_ID varchar(15), @INDEX varchar(50),@NOTES NVARCHAR(1000),
48
		@IS_VIEW BIT
49
		--Xoa detail
50
		DELETE CM_ATTACH_FILE WHERE REF_ID = @p_REF_ID;
51
		DELETE dbo.TR_REQUEST_DOC_FILE WHERE REQ_ID=@p_REF_ID
52

    
53

    
54
		IF @@Error <> 0 GOTO ABORT
55

    
56
		FETCH NEXT FROM attDetail INTO @ATTACH_ID,@TYPE, @REF_ID, @FILE_NAME_OLD, @PATH_OLD, @FILE_NAME_NEW, @PATH_NEW, @FILE_SIZE, @FILE_TYPE, @ATTACH_DT, @EMP_ID, @INDEX,@NOTES,@IS_VIEW
57
		WHILE @@FETCH_STATUS = 0	
58
		BEGIN
59
			EXEC SYS_CodeMasters_Gen 'CM_ATTACH_FILE', @ATTACH_ID out
60
			IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT
61
			--IF(LEN(@ATTACH_ID) = 0)
62
			--	BEGIN
63
			--		EXEC SYS_CodeMasters_Gen 'CM_ATTACH_FILE', @ATTACH_ID out
64
			--		IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT
65
			--	END		
66
			BEGIN				
67
				INSERT INTO CM_ATTACH_FILE([ATTACH_ID],[TYPE],[REF_ID],[FILE_NAME_OLD],[PATH_OLD],[FILE_NAME_NEW],[PATH_NEW],[FILE_SIZE],[FILE_TYPE],[ATTACH_DT],[EMP_ID], [INDEX],[NOTES])
68
				VALUES(@ATTACH_ID ,@TYPE ,@REF_ID ,@FILE_NAME_OLD ,@PATH_OLD ,@FILE_NAME_NEW ,@PATH_NEW ,@FILE_SIZE ,@FILE_TYPE ,CONVERT(DATETIME, @ATTACH_DT, 103) ,@EMP_ID, @INDEX,@NOTES )
69
				IF @@Error <> 0 GOTO ABORT
70

    
71
				IF(@p_TYPE='PYC')
72
				BEGIN
73
					DECLARE @TR_REQ_DOC_FILE_ID VARCHAR(20)
74

    
75
					EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_FILE', @TR_REQ_DOC_FILE_ID out
76
					IF @TR_REQ_DOC_FILE_ID='' OR @TR_REQ_DOC_FILE_ID IS NULL GOTO ABORT
77
					INSERT INTO dbo.TR_REQUEST_DOC_FILE
78
					(
79
					    TR_REQUEST_DOC_FILE_ID,
80
					    ATTACH_ID,
81
					    IS_VIEW,
82
					    REQ_ID
83
					)
84
					VALUES
85
					(   @TR_REQ_DOC_FILE_ID,   -- TR_REQUEST_DOC_FILE_ID - varchar(20)
86
					    @ATTACH_ID,   -- ATTACH_ID - varchar(20)
87
					    @IS_VIEW, -- IS_VIEW - bit
88
					    @REF_ID    -- REQ_ID - varchar(20)
89
					    )
90
				END
91
				-- next Id
92
				FETCH NEXT FROM attDetail INTO @ATTACH_ID, @TYPE, @REF_ID, @FILE_NAME_OLD, @PATH_OLD, @FILE_NAME_NEW, @PATH_NEW, @FILE_SIZE, @FILE_TYPE, @ATTACH_DT, @EMP_ID, @INDEX,@NOTES,@IS_VIEW
93
			END
94
		END
95
		CLOSE attDetail
96
		DEALLOCATE attDetail
97
COMMIT TRANSACTION
98
SELECT '0' as Result, '' ErrorDesc
99
RETURN '0'
100
ABORT:
101
BEGIN
102
		CLOSE attDetail
103
		DEALLOCATE attDetail
104
		ROLLBACK TRANSACTION
105
		SELECT '-1' as Result, '' ErrorDesc
106
		RETURN '-1'
107
End
108

    
109

    
110

    
111