1
|
|
2
|
ALTER PROC [dbo].[CM_REJECT_LOG_ByType_Ins]
|
3
|
@p_LOG_ID varchar(15) = NULL,
|
4
|
@p_STAGE varchar(5) = NULL,
|
5
|
@p_TRN_ID varchar(15) = NULL,
|
6
|
@p_TRN_TYPE nvarchar(100) = NULL,
|
7
|
@p_LOG_DT VARCHAR = NULL,
|
8
|
@p_AUTH_STAT varchar(3) = NULL,
|
9
|
@p_REASON nvarchar(500) = NULL,
|
10
|
@p_IS_LATEST varchar(1) = NULL,
|
11
|
@p_REJECTED_BY varchar(20) = NULL,
|
12
|
@p_REJECTED_DT VARCHAR = NULL,
|
13
|
@p_TYPE VARCHAR(20) =NULL,
|
14
|
@p_PROCESS_ID VARCHAR(20),
|
15
|
@p_REF_ID INT=NULL
|
16
|
AS
|
17
|
BEGIN TRANSACTION
|
18
|
DECLARE @PARENT_PROCESS_ID VARCHAR(20),@ROLE_ID VARCHAR(20),@ROLE_DES NVARCHAR(200),@ROLE_PARENT_ID VARCHAR(20),@ROLE_DES_PARENT NVARCHAR(200)
|
19
|
|
20
|
DECLARE @p_MESSAGE NVARCHAR(100) = NULL
|
21
|
IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
|
22
|
BEGIN
|
23
|
UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
|
24
|
END
|
25
|
|
26
|
-- END PHIEU DE THI THANH TOAN 19-11-2019
|
27
|
|
28
|
--- PHIEU YEU CAU MUA SAM
|
29
|
IF(@p_TRN_TYPE='PL_REQUEST_DOC')
|
30
|
BEGIN IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
|
31
|
BEGIN
|
32
|
SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
|
33
|
ROLLBACK TRANSACTION
|
34
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
35
|
RETURN '0'
|
36
|
END
|
37
|
ELSE
|
38
|
BEGIN
|
39
|
IF(@p_TYPE='CREATE')
|
40
|
BEGIN
|
41
|
UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
|
42
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
|
43
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID <>'APPNEW' AND REQ_ID=@p_TRN_ID
|
44
|
INSERT INTO dbo.PL_PROCESS
|
45
|
(
|
46
|
REQ_ID,
|
47
|
PROCESS_ID,
|
48
|
CHECKER_ID,
|
49
|
APPROVE_DT,
|
50
|
PROCESS_DESC,
|
51
|
NOTES
|
52
|
)
|
53
|
VALUES
|
54
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
55
|
'REJECT', -- PROCESS_ID - varchar(10)
|
56
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
57
|
GETDATE(), -- APPROVE_DT - datetime
|
58
|
@p_REASON,
|
59
|
N'Trả về người tạo'
|
60
|
-- PROCESS_DESC - nvarchar(1000)
|
61
|
)
|
62
|
END
|
63
|
ELSE IF(@p_TYPE='NVXL')
|
64
|
BEGIN
|
65
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID
|
66
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='R' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'
|
67
|
INSERT INTO dbo.PL_PROCESS
|
68
|
(
|
69
|
REQ_ID,
|
70
|
PROCESS_ID,
|
71
|
CHECKER_ID,
|
72
|
APPROVE_DT,
|
73
|
PROCESS_DESC,
|
74
|
NOTES
|
75
|
)
|
76
|
VALUES
|
77
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
78
|
'REJECT', -- PROCESS_ID - varchar(10)
|
79
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
80
|
GETDATE(), -- APPROVE_DT - datetime
|
81
|
@p_REASON,
|
82
|
N'Trả về nhân viên xử lý'
|
83
|
-- PROCESS_DESC - nvarchar(1000)
|
84
|
)
|
85
|
END
|
86
|
ELSE IF(@p_TYPE='PRE_APP')
|
87
|
BEGIN
|
88
|
SET @PARENT_PROCESS_ID =(SELECT TOP 1 PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
|
89
|
SET @ROLE_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
|
90
|
SET @ROLE_PARENT_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID)
|
91
|
SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
|
92
|
SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
|
93
|
|
94
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=@ROLE_DES + N' đã trả về, chờ ' + @ROLE_DES_PARENT +N' xử lý' WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID
|
95
|
|
96
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
|
97
|
UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
|
98
|
IF(@PARENT_PROCESS_ID='APPNEW')
|
99
|
UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
|
100
|
|
101
|
INSERT INTO dbo.PL_PROCESS
|
102
|
(
|
103
|
REQ_ID,
|
104
|
PROCESS_ID,
|
105
|
CHECKER_ID,
|
106
|
APPROVE_DT,
|
107
|
PROCESS_DESC,
|
108
|
NOTES
|
109
|
)
|
110
|
VALUES
|
111
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
112
|
'REJECT', -- PROCESS_ID - varchar(10)
|
113
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
114
|
GETDATE(), -- APPROVE_DT - datetime
|
115
|
@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
|
116
|
-- PROCESS_DESC - nvarchar(1000)
|
117
|
)
|
118
|
END
|
119
|
SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
|
120
|
END
|
121
|
END
|
122
|
ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
|
123
|
BEGIN
|
124
|
--IF(@p_STAGE='DVMS')
|
125
|
--BEGIN
|
126
|
--END
|
127
|
|
128
|
IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
|
129
|
BEGIN
|
130
|
SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
|
131
|
ROLLBACK TRANSACTION
|
132
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
133
|
RETURN '0'
|
134
|
END
|
135
|
ELSE
|
136
|
BEGIN
|
137
|
IF(@p_TYPE='CREATE')
|
138
|
BEGIN
|
139
|
UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
|
140
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Tờ trình bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
|
141
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID <>'APPNEW' AND REQ_ID=@p_TRN_ID
|
142
|
INSERT INTO dbo.PL_PROCESS
|
143
|
(
|
144
|
REQ_ID,
|
145
|
PROCESS_ID,
|
146
|
CHECKER_ID,
|
147
|
APPROVE_DT,
|
148
|
PROCESS_DESC,
|
149
|
NOTES
|
150
|
)
|
151
|
VALUES
|
152
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
153
|
'REJECT', -- PROCESS_ID - varchar(10)
|
154
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
155
|
GETDATE(), -- APPROVE_DT - datetime
|
156
|
@p_REASON,N'Trả về người tạo'
|
157
|
-- PROCESS_DESC - nvarchar(1000)
|
158
|
)
|
159
|
END
|
160
|
ELSE IF(@p_TYPE='NVXL')
|
161
|
BEGIN
|
162
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID
|
163
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='R' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'
|
164
|
|
165
|
|
166
|
|
167
|
INSERT INTO dbo.PL_PROCESS
|
168
|
(
|
169
|
REQ_ID,
|
170
|
PROCESS_ID,
|
171
|
CHECKER_ID,
|
172
|
APPROVE_DT,
|
173
|
PROCESS_DESC,
|
174
|
NOTES
|
175
|
)
|
176
|
VALUES
|
177
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
178
|
'REJECT', -- PROCESS_ID - varchar(10)
|
179
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
180
|
GETDATE(), -- APPROVE_DT - datetime
|
181
|
@p_REASON,N'Trả về nhân viên xử lý'
|
182
|
-- PROCESS_DESC - nvarchar(1000)
|
183
|
)
|
184
|
END
|
185
|
ELSE IF(@p_TYPE='PRE_APP')
|
186
|
BEGIN
|
187
|
SET @PARENT_PROCESS_ID =(SELECT TOP 1 PARENT_PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
|
188
|
SET @ROLE_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID)
|
189
|
SET @ROLE_PARENT_ID=(SELECT TOP 1 ROLE_USER FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID)
|
190
|
SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
|
191
|
SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
|
192
|
|
193
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=@ROLE_DES + N' đã trả về, chờ ' + @ROLE_DES_PARENT +N' xử lý' WHERE PROCESS_ID=@PARENT_PROCESS_ID AND REQ_ID=@p_TRN_ID
|
194
|
IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID=@PARENT_PROCESS_ID AND IS_HAS_CHILD=1))
|
195
|
BEGIN
|
196
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='R' WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID IN (SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID=@PARENT_PROCESS_ID AND IS_HAS_CHILD=1) AND LEVEL_JOB=1
|
197
|
END
|
198
|
|
199
|
IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID='DVCM'))
|
200
|
BEGIN
|
201
|
UPDATE dbo.TR_REQUEST_COSTCENTER SET AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
|
202
|
END
|
203
|
|
204
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
|
205
|
UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
|
206
|
IF(@PARENT_PROCESS_ID='APPNEW')
|
207
|
UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
|
208
|
|
209
|
|
210
|
INSERT INTO dbo.PL_PROCESS
|
211
|
(
|
212
|
REQ_ID,
|
213
|
PROCESS_ID,
|
214
|
CHECKER_ID,
|
215
|
APPROVE_DT,
|
216
|
PROCESS_DESC,NOTES
|
217
|
)
|
218
|
VALUES
|
219
|
( @p_TRN_ID, -- REQ_ID - varchar(15)
|
220
|
'REJECT', -- PROCESS_ID - varchar(10)
|
221
|
@p_REJECTED_BY, -- CHECKER_ID - varchar(15)
|
222
|
GETDATE(), -- APPROVE_DT - datetime
|
223
|
@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
|
224
|
-- PROCESS_DESC - nvarchar(1000)
|
225
|
)
|
226
|
END
|
227
|
|
228
|
SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
|
229
|
END
|
230
|
|
231
|
END
|
232
|
|
233
|
-- END IF
|
234
|
ELSE
|
235
|
BEGIN
|
236
|
SET @p_MESSAGE =N'Trả về giao dịch thành công'
|
237
|
END
|
238
|
--- INSERT VAO BANG CM_REJECT_LOG
|
239
|
EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
|
240
|
IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
|
241
|
INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,@p_STAGE,@p_TRN_ID,@p_TRN_TYPE,CONVERT(DATETIME,GETDATE(),103),'R',@p_REASON,@p_IS_LATEST,@p_REJECTED_BY,CONVERT(DATETIME,GETDATE(),103))
|
242
|
IF @@Error <> 0 GOTO ABORT
|
243
|
COMMIT TRANSACTION
|
244
|
SELECT '0' as Result, @p_LOG_ID LOG_ID ,@p_MESSAGE ErrorDesc
|
245
|
RETURN '0'
|
246
|
ABORT:
|
247
|
BEGIN
|
248
|
|
249
|
ROLLBACK TRANSACTION
|
250
|
SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
|
251
|
RETURN '-1'
|
252
|
END
|