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
|
|