1
|
|
2
|
|
3
|
ALTER PROCEDURE [dbo].[CM_ATTACH_FILE_Upd_Xml_v2]
|
4
|
@p_REF_ID varchar(15) = null,
|
5
|
@p_AttachDetail xml = NULL,
|
6
|
@p_TYPE VARCHAR(20)= NULL
|
7
|
AS
|
8
|
Declare @hdoc INT
|
9
|
Exec sp_xml_preparedocument @hdoc Output, @p_AttachDetail
|
10
|
DECLARE attDetail CURSOR FOR
|
11
|
SELECT *
|
12
|
FROM OPENXML(@hDoc,'/Root/AttachDetail',2)
|
13
|
WITH
|
14
|
(
|
15
|
ATTACH_ID varchar(15),
|
16
|
[TYPE] varchar(50),
|
17
|
REF_ID varchar(15),
|
18
|
FILE_NAME_OLD nvarchar(200),
|
19
|
PATH_OLD nvarchar(1000),
|
20
|
FILE_NAME_NEW nvarchar(200),
|
21
|
PATH_NEW nvarchar(1000),
|
22
|
FILE_SIZE decimal(18),
|
23
|
FILE_TYPE varchar(50),
|
24
|
ATTACH_DT VARCHAR(20),
|
25
|
EMP_ID varchar(15),
|
26
|
[INDEX] varchar(50),
|
27
|
NOTES NVARCHAR(1000),
|
28
|
IS_VIEW BIT
|
29
|
)
|
30
|
OPEN attDetail
|
31
|
|
32
|
BEGIN TRANSACTION
|
33
|
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),
|
34
|
@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),
|
35
|
@IS_VIEW BIT
|
36
|
--Xoa detail
|
37
|
-- 29102020 - LOI GUI PHE DUYET THI MAT FILE. NEN FIX STORE NEU PHIEU DA GUI PHE DUYET ROI THI KHONG XOA FILE
|
38
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REF_ID))
|
39
|
BEGIN
|
40
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REF_ID AND AUTH_STATUS NOT IN ('R','E','U')))
|
41
|
BEGIN
|
42
|
DELETE dbo.TR_REQUEST_DOC_FILE WHERE REQ_ID=@p_REF_ID
|
43
|
END
|
44
|
ELSE
|
45
|
BEGIN
|
46
|
DELETE CM_ATTACH_FILE WHERE REF_ID = @p_REF_ID;
|
47
|
END
|
48
|
END
|
49
|
ELSE IF EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REF_ID)
|
50
|
BEGIN
|
51
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REF_ID AND AUTH_STATUS NOT IN ('R','E','U')))
|
52
|
BEGIN
|
53
|
DELETE dbo.TR_REQUEST_DOC_FILE WHERE REQ_ID=@p_REF_ID
|
54
|
END
|
55
|
ELSE
|
56
|
BEGIN
|
57
|
DELETE CM_ATTACH_FILE WHERE REF_ID = @p_REF_ID;
|
58
|
END
|
59
|
END
|
60
|
ELSE
|
61
|
BEGIN
|
62
|
DELETE CM_ATTACH_FILE WHERE REF_ID = @p_REF_ID;
|
63
|
DELETE dbo.TR_REQUEST_DOC_FILE WHERE REQ_ID=@p_REF_ID
|
64
|
END
|
65
|
IF @@Error <> 0 GOTO ABORT
|
66
|
|
67
|
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
|
68
|
WHILE @@FETCH_STATUS = 0
|
69
|
BEGIN
|
70
|
EXEC SYS_CodeMasters_Gen 'CM_ATTACH_FILE', @ATTACH_ID out
|
71
|
IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT
|
72
|
--IF(LEN(@ATTACH_ID) = 0)
|
73
|
-- BEGIN
|
74
|
-- EXEC SYS_CodeMasters_Gen 'CM_ATTACH_FILE', @ATTACH_ID out
|
75
|
-- IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT
|
76
|
-- END
|
77
|
BEGIN
|
78
|
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])
|
79
|
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 )
|
80
|
IF @@Error <> 0 GOTO ABORT
|
81
|
|
82
|
IF(@p_TYPE='PYC')
|
83
|
BEGIN
|
84
|
DECLARE @TR_REQ_DOC_FILE_ID VARCHAR(20)
|
85
|
|
86
|
EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_FILE', @TR_REQ_DOC_FILE_ID out
|
87
|
IF @TR_REQ_DOC_FILE_ID='' OR @TR_REQ_DOC_FILE_ID IS NULL GOTO ABORT
|
88
|
INSERT INTO dbo.TR_REQUEST_DOC_FILE
|
89
|
(
|
90
|
TR_REQUEST_DOC_FILE_ID,
|
91
|
ATTACH_ID,
|
92
|
IS_VIEW,
|
93
|
REQ_ID
|
94
|
)
|
95
|
VALUES
|
96
|
( @TR_REQ_DOC_FILE_ID, -- TR_REQUEST_DOC_FILE_ID - varchar(20)
|
97
|
@ATTACH_ID, -- ATTACH_ID - varchar(20)
|
98
|
@IS_VIEW, -- IS_VIEW - bit
|
99
|
@REF_ID -- REQ_ID - varchar(20)
|
100
|
)
|
101
|
END
|
102
|
-- next Id
|
103
|
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
|
104
|
END
|
105
|
END
|
106
|
CLOSE attDetail
|
107
|
DEALLOCATE attDetail
|
108
|
COMMIT TRANSACTION
|
109
|
SELECT '0' as Result, '' ErrorDesc
|
110
|
RETURN '0'
|
111
|
ABORT:
|
112
|
BEGIN
|
113
|
CLOSE attDetail
|
114
|
DEALLOCATE attDetail
|
115
|
ROLLBACK TRANSACTION
|
116
|
SELECT '-1' as Result, '' ErrorDesc
|
117
|
RETURN '-1'
|
118
|
End
|
119
|
---CAP NHAT DINH KEM FILE 202177---
|
120
|
|
121
|
|
122
|
|
123
|
|