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