Project

General

Profile

TRA VE CAP XU LY PYCMS.txt

Luc Tran Van, 10/15/2020 02:34 PM

 
1

    
2

    
3
/*INSERT INTO SYS_PREFIX(ID,Prefix,[Description]) VALUES('CM_REJECT_LOG','CMJL','')
4
INSERT INTO SYS_CODEMASTERS(Prefix,CurValue,Active) VALUES('CMJL','1','1')*/
5
ALTER PROC [dbo].[CM_REJECT_LOG_ByType_Ins]
6
@p_LOG_ID	varchar(15)	= NULL,
7
@p_STAGE	varchar(5)	 = NULL,
8
@p_TRN_ID	varchar(15)	 = NULL,
9
@p_TRN_TYPE	nvarchar(100)	 = NULL,
10
@p_LOG_DT	VARCHAR	 = NULL,
11
@p_AUTH_STAT	varchar(3)	 = NULL,
12
@p_REASON	nvarchar(500)	 = NULL,
13
@p_IS_LATEST	varchar(1)	 = NULL,
14
@p_REJECTED_BY	varchar(20)	 = NULL,
15
@p_REJECTED_DT	VARCHAR	 = NULL,
16
@p_TYPE VARCHAR(20) =NULL,
17
@p_PROCESS_ID VARCHAR(20),
18
@p_REF_ID INT=NULL
19
AS
20
BEGIN TRANSACTION
21
DECLARE @PARENT_PROCESS_ID VARCHAR(20),@ROLE_ID VARCHAR(20),@ROLE_DES NVARCHAR(200),@ROLE_PARENT_ID VARCHAR(20),@ROLE_DES_PARENT NVARCHAR(200),@COMPLETE BIT
22
					
23
SET @COMPLETE=0
24
		DECLARE @p_MESSAGE NVARCHAR(100) = NULL
25
		IF(EXISTS (SELECT * FROM CM_REJECT_LOG WHERE TRN_ID = @p_TRN_ID))
26
		BEGIN
27
			UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_TRN_ID
28
		END
29
	
30
		-- END PHIEU DE THI THANH TOAN 19-11-2019
31

    
32
			--- PHIEU YEU CAU MUA SAM
33
				IF(@p_TRN_TYPE='PL_REQUEST_DOC')
34
				BEGIN	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
35
				BEGIN
36
					SET @p_MESSAGE =N'Trả về thất bại! Tờ trình chủ trương đã được duyệt'
37
					ROLLBACK TRANSACTION
38
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
39
					RETURN '0'
40
				END
41
				ELSE
42
				BEGIN
43
				IF(@p_TYPE='CREATE')
44
				BEGIN
45
				UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
46
				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
47
				UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID <>'APPNEW' AND REQ_ID=@p_TRN_ID
48
				INSERT INTO dbo.PL_PROCESS
49
				(
50
				REQ_ID,
51
				PROCESS_ID,
52
				CHECKER_ID,
53
			    APPROVE_DT,
54
			    PROCESS_DESC,
55
				NOTES
56
				)
57
				VALUES
58
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
59
					'REJECT',        -- PROCESS_ID - varchar(10)
60
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
61
					GETDATE(), -- APPROVE_DT - datetime
62
					@p_REASON,
63
					N'Trả về người tạo'
64
					       -- PROCESS_DESC - nvarchar(1000)
65
				)
66
				 SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
67
				 SET @COMPLETE=1
68
				END
69
				ELSE IF(@p_TYPE='NVXL')
70
				BEGIN
71
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID 
72
					--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'	
73
					--LUCTV 28 09 2020 DIEU CHINH LOI TRA VE NHUNG NHAN VIEN XU LY KHONG DUOC PHEP TRA VE TIEP
74
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'	
75
					IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'))
76
					BEGIN
77
						UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB ='KS'
78
					END
79
				INSERT INTO dbo.PL_PROCESS
80
				(
81
				REQ_ID,
82
				PROCESS_ID,
83
				CHECKER_ID,
84
			    APPROVE_DT,
85
			    PROCESS_DESC,
86
				NOTES
87
				)
88
				VALUES
89
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
90
					'REJECT',        -- PROCESS_ID - varchar(10)
91
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
92
					GETDATE(), -- APPROVE_DT - datetime
93
					@p_REASON,
94
					N'Trả về nhân viên xử lý'
95
					       -- PROCESS_DESC - nvarchar(1000)
96
				)
97
				 SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
98
				 	 SET @COMPLETE=1
99
				END
100
				ELSE IF(@p_TYPE='PRE_APP')
101
				BEGIN
102
					--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)
103
					--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)
104
					--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)
105
					--SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
106
					--SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
107
					
108
					--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
109

    
110
					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
111
					--UPDATE dbo.PL_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
112
					--IF(@PARENT_PROCESS_ID='APPNEW')
113
					--	UPDATE dbo.PL_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
114

    
115
					--INSERT INTO dbo.PL_PROCESS
116
					--(
117
					--REQ_ID,
118
					--PROCESS_ID,
119
					--CHECKER_ID,
120
					--APPROVE_DT,
121
					--PROCESS_DESC,
122
					--NOTES
123
					--)
124
					--VALUES
125
					--(   @p_TRN_ID,        -- REQ_ID - varchar(15)
126
					--	'REJECT',        -- PROCESS_ID - varchar(10)
127
					--	@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
128
					--	GETDATE(), -- APPROVE_DT - datetime
129
					--	@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
130
					--	       -- PROCESS_DESC - nvarchar(1000)
131
					--)
132
					 SET @p_MESSAGE =N'Tạm thời bạn nên trả phiếu về người tạo'
133
					 SET @COMPLETE=0
134
				END
135
				-- SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
136
			END		
137
			END
138
			ELSE IF(@p_TRN_TYPE='TR_REQUEST_DOC')
139
			BEGIN
140
			--IF(@p_STAGE='DVMS')
141
			--BEGIN
142
			--END
143
		
144
				IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_TRN_ID AND PROCESS_ID='APPROVE'))
145
				BEGIN
146
					SET @p_MESSAGE =N'Trả về thất bại! Phiếu yêu cầu đã được duyệt'
147
					ROLLBACK TRANSACTION
148
					SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
149
					RETURN '0'
150
				END
151
				ELSE
152
				BEGIN
153
				IF(@p_TYPE='CREATE')
154
				BEGIN
155
				UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID='REJECT',AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
156
				UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='R',NOTES=N'Phiếu bị trả về' WHERE PROCESS_ID='APPNEW' AND REQ_ID=@p_TRN_ID
157
				UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID <>'APPNEW' AND REQ_ID=@p_TRN_ID
158
				INSERT INTO dbo.PL_PROCESS
159
				(
160
				REQ_ID,
161
				PROCESS_ID,
162
				CHECKER_ID,
163
			    APPROVE_DT,
164
			    PROCESS_DESC,
165
				NOTES
166
				)
167
				VALUES
168
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
169
					'REJECT',        -- PROCESS_ID - varchar(10)
170
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
171
					GETDATE(), -- APPROVE_DT - datetime
172
					@p_REASON,N'Trả về người tạo'
173
					       -- PROCESS_DESC - nvarchar(1000)
174
				)
175
					 SET @COMPLETE=1
176
				 SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
177
				END
178
				ELSE IF(@p_TYPE='NVXL')
179
				BEGIN
180
				UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='U' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID 
181
				--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'
182
				--LUCTV 28 09 2020 DIEU CHINH LOI TRA VE NHUNG NHAN VIEN XU LY KHONG DUOC PHEP TRA VE TIEP
183
				--KIEM TRA NGUOI DIEU PHOI - NEU LA TP - TRA VE CHO NHAN VIEN XU LY THI SE TRA VE CHO
184
				UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'
185
				IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB='XL'))
186
				BEGIN
187
					UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C' WHERE REQ_ID =@p_TRN_ID AND PROCESS_ID=@p_REF_ID AND TYPE_JOB ='KS'
188
				END
189
				INSERT INTO dbo.PL_PROCESS
190
				(
191
				REQ_ID,
192
				PROCESS_ID,
193
				CHECKER_ID,
194
			    APPROVE_DT,
195
			    PROCESS_DESC,
196
				NOTES
197
				)
198
				VALUES
199
				(   @p_TRN_ID,        -- REQ_ID - varchar(15)
200
					'REJECT',        -- PROCESS_ID - varchar(10)
201
					@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
202
					GETDATE(), -- APPROVE_DT - datetime
203
					@p_REASON,N'Trả về nhân viên xử lý'
204
					       -- PROCESS_DESC - nvarchar(1000)
205
				)
206
					 SET @COMPLETE=1
207
				 SET @p_MESSAGE =N'Phiếu yêu cầu đã được trả về thành công'
208
				END
209
				ELSE IF(@p_TYPE='PRE_APP')
210
				BEGIN
211
					--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)
212
					--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)
213
					--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)
214
					--SET @ROLE_DES=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_ID)
215
					--SET @ROLE_DES_PARENT=(SELECT ROLE_DESC FROM dbo.TL_SYSROLE WHERE ROLE_ID=@ROLE_PARENT_ID)
216
					
217
					--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
218
					--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))
219
					--BEGIN
220
					--	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
221
					--END
222
					
223
					--IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_PROCESS WHERE  REQ_ID =@p_TRN_ID AND PROCESS_ID='DVCM'))
224
					--BEGIN
225
					--		UPDATE dbo.TR_REQUEST_COSTCENTER SET AUTH_STATUS='R' WHERE REQ_ID=@p_TRN_ID
226
					--END
227
					
228
					--UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='U' WHERE PROCESS_ID=@p_PROCESS_ID AND REQ_ID=@p_TRN_ID
229
					--UPDATE dbo.TR_REQUEST_DOC SET PROCESS_ID=@PARENT_PROCESS_ID WHERE REQ_ID=@p_TRN_ID
230
					--IF(@PARENT_PROCESS_ID='APPNEW')
231
					--	UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U' WHERE REQ_ID=@p_TRN_ID
232

    
233

    
234
					--INSERT INTO dbo.PL_PROCESS
235
					--(
236
					--REQ_ID,
237
					--PROCESS_ID,
238
					--CHECKER_ID,
239
					--APPROVE_DT,
240
					--PROCESS_DESC,NOTES
241
					--)
242
					--VALUES
243
					--(   @p_TRN_ID,        -- REQ_ID - varchar(15)
244
					--	'REJECT',        -- PROCESS_ID - varchar(10)
245
					--	@p_REJECTED_BY,        -- CHECKER_ID - varchar(15)
246
					--	GETDATE(), -- APPROVE_DT - datetime
247
					--	@p_REASON,N'Trả về ' + @ROLE_DES_PARENT
248
					--	       -- PROCESS_DESC - nvarchar(1000)
249
					--)
250
					SET @p_MESSAGE =N'Tạm thời bạn nên trả phiếu về người tạo'
251
						 SET @COMPLETE=0
252
				END
253
				
254
				
255
				END	
256
			
257
		END
258

    
259
		-- END IF
260
		ELSE
261
		BEGIN
262
			SET @p_MESSAGE =N'Trả về giao dịch thành công'
263
		END
264

    
265
		--- INSERT VAO BANG CM_REJECT_LOG
266
		IF(@COMPLETE=1)
267
		BEGIN
268
		EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
269
		IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
270
		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))
271
		IF @@Error <> 0 GOTO ABORT
272
		END
273
COMMIT TRANSACTION
274

    
275
SELECT '0' as Result, @p_LOG_ID  LOG_ID ,@p_MESSAGE ErrorDesc
276
RETURN '0'
277
ABORT:
278
BEGIN
279

    
280
		ROLLBACK TRANSACTION
281
		SELECT '-1' as Result, '' LOG_ID, '' ErrorDesc
282
		RETURN '-1'
283
END