Project

General

Profile

FILE 1.txt

Truong Nguyen Vu, 09/15/2020 09:19 AM

 
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