Project

General

Profile

TR_REQUEST_DOC_APp.txt

Luc Tran Van, 12/22/2022 11:03 AM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQUEST_DOC_App]
3
    @p_REQ_ID VARCHAR(15) = NULL,
4
	@p_AUTH_STATUS VARCHAR(1) = NULL,
5
	@p_CHECKER_ID varchar(15)  = NULL,
6
	@p_APPROVE_DT VARCHAR(20) = NULL,
7
	@p_ROLE_LOGIN VARCHAR(50) = NULL,
8
	@p_BRANCH_LOGIN VARCHAR(15),
9
	@p_PROCESS_DES NVARCHAR(500)
10
	
11
AS
12
	--Validation is here
13
DECLARE @ERRORSYS NVARCHAR(15) = '' 
14
  IF ( NOT EXISTS ( SELECT * FROM TR_REQUEST_DOC WHERE  REQ_ID = @p_REQ_ID))
15
	SET @ERRORSYS = 'REQ-00002'
16
IF @ERRORSYS <> '' 
17
BEGIN
18
	SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
19
	RETURN '0'
20
END 
21
BEGIN TRANSACTION
22

    
23
	SET @p_APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
24

    
25
	-- LUCTV 20052020 BO SUNG CHECK NEU TRA VE THI KHONG DUYET DUOC
26
	IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND AUTH_STATUS ='R'))
27
		BEGIN
28
			ROLLBACK TRANSACTION
29
			SELECT '-1' Result, N'Phiếu yêu cầu mua sắm số: '+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) +N' đang bị từ chối. Vui lòng đợi nhân viên xử lý phiếu và gửi phê duyệt lại!' ErrorDesc
30
			RETURN '-1'
31
	END
32
	-- LUCTV 20052020 BO SUNG CHECK NEU TRA VE THI KHONG DUYET DUOC
33
	IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_ID))
34
		BEGIN
35
			ROLLBACK TRANSACTION
36
			SELECT '-1' Result, N'Phiếu yêu cầu mua sắm số: '+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) +N' chưa có thông tin hàng hóa mua sắm. Vui lòng trả về nhân viên xử lý phiếu và gửi phê duyệt lại!' ErrorDesc
37
			RETURN '-1'
38
	END
39

    
40
	----------------------BAODNQ 22/12/2022: Ko cho trưởng đơn vị duyệt lại khi đã duyệt---------------------------------
41
	IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID AND AUTH_STATUS = 'A' AND PROCESS_ID <> 'APPNEW'))
42
	BEGIN
43
		ROLLBACK TRANSACTION
44
		SELECT '-1' Result, N'Phiếu yêu cầu mua sắm số: '+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) +
45
		N' đã được trưởng đơn vị phê duyệt hoàn tất. Vui lòng chờ đợi bước xử lý tiếp theo xử lý phiếu.' ErrorDesc
46
		RETURN '-1'
47
	END
48

    
49
	--- PHE DUYET TRUNG GIAN
50
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE_N VARCHAR(20) ,@DEP_CREATE_N VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
51
	@BRANCH_CREATE_TYPE VARCHAR(10)
52
	SELECT @BRANCH_CREATE_N=BRANCH_CREATE,@DEP_CREATE_N=DEP_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
53
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
54
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE_N)
55
	-- LUCTV 08122020 KIỂM TRA NẾU TỜ TRÌNH LINK TỚI PYCMS LÀ TỜ TRÌNH TOÀN HÀNG THÌ ĐMMS GIAO CHO ĐƠN VỊ TỰ MUA SẮM
56
	DECLARE @PL_REQ_REF VARCHAR(15), @ISCHECK_ALL VARCHAR(1)
57
	SET @PL_REQ_REF =(SELECT TOP 1 PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)
58
	SET @ISCHECK_ALL =(SELECT TOP 1 IS_CHECKALL FROM PL_REQUEST_DOC WHERE REQ_ID =@PL_REQ_REF)
59
	-- LUCTV 08122020: END
60
	IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER =@p_CHECKER_ID AND PROCESS_ID ='SIGN'))
61
	BEGIN
62
		DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
63
		INSERT INTO dbo.PL_PROCESS
64
		(
65
			REQ_ID,
66
			PROCESS_ID,
67
			CHECKER_ID,
68
			APPROVE_DT,
69
			PROCESS_DESC,NOTES
70
		)
71
		VALUES
72
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
73
			'SIGN',        -- PROCESS_ID - varchar(10)
74
			@p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
75
			@p_APPROVE_DT , -- APPROVE_DT - datetime
76
			N'Cấp phê duyệt trung gian xác nhận phiếu yêu cầu mua sắm',
77
			N'Cấp phê duyệt trung gian'
78
		)
79
	--- DUA CAP PHE DUYET TRUONG DON VI
80
		--IF(@BRANCH_CREATE_TYPE='PGD')
81
		--	SET @BRANCH_CREATE_N=(SELECT FATHER_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE_N)
82

    
83
	    INSERT INTO dbo.PL_REQUEST_PROCESS
84
		(
85
		    REQ_ID,
86
		    PROCESS_ID,
87
		    STATUS,
88
		    ROLE_USER,
89
		    BRANCH_ID,
90
			DEP_ID,
91
		    CHECKER_ID,
92
		    APPROVE_DT,
93
		    PARENT_PROCESS_ID,
94
		    IS_LEAF,
95
		    COST_ID,
96
		    DVDM_ID,
97
		    NOTES,
98
		    IS_HAS_CHILD
99
		)
100
		VALUES
101
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
102
		    'APPNEW',        -- PROCESS_ID - varchar(10)
103
		    'C',        -- STATUS - varchar(5)
104
		    'GDDV',        -- ROLE_USER - varchar(50)
105
		    @BRANCH_CREATE_N,  
106
			@DEP_CREATE_N,      -- BRANCH_ID - varchar(15)
107
		    '',        -- CHECKER_ID - varchar(15)
108
		    NULL,      -- APPROVE_DT - datetime
109
		    '',        -- PARENT_PROCESS_ID - varchar(10)
110
		    'N',        -- IS_LEAF - varchar(1)
111
		    '',        -- COST_ID - varchar(15)
112
		    '',        -- DVDM_ID - varchar(15)
113
		    N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
114
		    NULL       -- IS_HAS_CHILD - bit
115
		 )
116
	--- UPDATE PROCESS_ID VE APP_NEW
117
	UPDATE TR_REQUEST_DOC SET PROCESS_ID ='APPNEW' WHERE REQ_ID =@p_REQ_ID
118
	END
119
	ELSE
120
	--- PHE DUYET GIU NGUYEN NHU THUONG
121
	BEGIN
122
		DECLARE @ROLE_USER_LOGIN VARCHAR(15)=''
123
		SET @ROLE_USER_LOGIN =(SELECT RoleName FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
124
		--- KIEM TRA XEM DA PHE DUYET TRUNG GIAN HAY CHUA
125
		IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <> ''))
126
		BEGIN
127
			IF(NOT EXISTS (SELECT * FROM PL_PROCESS WHERE PROCESS_ID='SIGN' AND REQ_ID =@p_REQ_ID))
128
			BEGIN
129
				ROLLBACK TRANSACTION
130
				SELECT '-1' Result, N'Phiếu yêu cầu mua sắm số: '+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) +N' đang đợi cấp phê duyệt trung gian xác nhận. Vui lòng đợi nhân viên '+(SELECT SIGN_USER FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)+' xác nhận phiếu!' ErrorDesc
131
				RETURN '-1'
132
			END
133
			IF(@p_CHECKER_ID = (SELECT SIGN_USER FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID) AND @BRANCH_CREATE_TYPE ='HS')
134
			BEGIN
135
				ROLLBACK TRANSACTION
136
				SELECT '-1' Result, N'Phiếu yêu cầu mua sắm số: '+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) +N' đang đợi trưởng đơn vị phê duyệt. Bạn không có thẩm quyền phê duyệt cấp trưởng đơn vị! Vui lòng xem lịch sử xử lý phiếu' ErrorDesc
137
				RETURN '-1'
138
			END
139
		END
140
		-- LUCTV: 08 12 2020: KIỂM TRA NẾU CẤP DUYỆT KHÔNG NẰM TRONG CẤP TP, PP THÌ KHÔNG CHO DUYỆT TRƯỞNG ĐƠN VỊ
141
		--IF(
142
		DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
143
		DECLARE @CURR_PROCESS VARCHAR(20),@TOTAL_AMT DECIMAL(18,2),
144
		 @LIMIT_VALUE DECIMAL(18,0), @LIMIT_DVCM DECIMAL(18,0),@IS_NEXT BIT,@DMMS_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20),@BRANCH_HS VARCHAR(20),@DEP_CREATE VARCHAR(15)
145
		SET @BRANCH_HS= (SELECT TOP 1 BRANCH_ID FROM dbo.CM_BRANCH WHERE BRANCH_TYPE='HS')
146
		SET @LIMIT_VALUE=(SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE  LIMIT_TYPE='PYCMS_DVKD')
147
		SET @LIMIT_DVCM=(SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE  LIMIT_TYPE='PYCMS_DVCM')
148
		SET @TOTAL_AMT=(SELECT TOTAL_AMT FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
149

    
150
		SET @CURR_PROCESS = (SELECT PROCESS_ID FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
151

    
152
		UPDATE  dbo.TR_REQUEST_DOC SET AUTH_STATUS='A',REQ_TYPE=0, CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CAST(@p_APPROVE_DT AS DATE),BRANCH_DVMS=BRANCH_CREATE, PROCESS_ID='DMMS' WHERE REQ_ID=@p_REQ_ID
153

    
154
	--	SET @IS_NEXT=(SELECT dbo.FN_CHECK_LIMIT_TR_REQ(@p_REQ_ID,'GDDV'))
155

    
156
		SET @BRANCH_CREATE=(SELECT BRANCH_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
157
		SET @DEP_CREATE=(SELECT DEP_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
158

    
159
		--IF(@BRANCH_CREATE_TYPE='PGD')
160
		--	SET @BRANCH_CREATE=(SELECT BRANCH_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
161

    
162
IF(EXISTS (SELECT BRANCH_ID FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE AND BRANCH_TYPE='HS'))
163
BEGIN
164
    IF(@TOTAL_AMT <= @LIMIT_DVCM)
165
	BEGIN
166
				PRINT 'DVCM THEO MAPPING HANG HOA'
167
				SET @DMMS_ID= (SELECT TOP 1 HC.DVCM_ID FROM dbo.TR_REQUEST_DOC_DT DT 
168
												LEFT JOIN dbo.CM_HANGHOA_DVCM HC ON HC.HH_ID=DT.HANGHOA_ID WHERE REQ_DOC_ID=@p_REQ_ID)
169
				PRINT @DMMS_ID		
170
				UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=2 WHERE REQ_ID=@p_REQ_ID
171
	END
172
	ELSE
173
	BEGIN
174
				PRINT 'LAY PHONG HANH CHINH RA MUA SAM'
175
				SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
176
				UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
177
	END
178
END
179
ELSE
180
BEGIN
181
	IF(EXISTS(SELECT RD.REQDT_ID FROM dbo.TR_REQUEST_DOC_DT RD 
182
		LEFT JOIN dbo.SYS_HH_GROUP_LIMIT HGL ON RD.HANGHOA_ID=HGL.HH_ID
183
		LEFT JOIN dbo.SYS_GROUP_LIMIT GL ON GL.GROUP_ID=HGL.GROUP_LIMIT_ID
184
		WHERE GL.IS_HO=1 AND RD.REQ_DOC_ID=@p_REQ_ID))
185
	BEGIN
186
		    IF(@TOTAL_AMT <= @LIMIT_DVCM)
187
			BEGIN
188
				SET @DMMS_ID= (SELECT DISTINCT HC.DVCM_ID FROM dbo.TR_REQUEST_DOC_DT DT 
189
														LEFT JOIN dbo.CM_HANGHOA_DVCM HC ON HC.HH_ID=DT.HANGHOA_ID WHERE REQ_DOC_ID=@p_REQ_ID)
190
				UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=2 WHERE REQ_ID=@p_REQ_ID
191
			END
192
			ELSE
193
			BEGIN
194
				SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
195
				UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
196
			END
197
	END
198
	ELSE
199
	BEGIN
200
		IF(@TOTAL_AMT<=@LIMIT_VALUE)
201
			BEGIN
202
				SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
203
				UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=0 WHERE REQ_ID=@p_REQ_ID
204
			END
205
			ELSE
206
			BEGIN
207
				SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
208
				UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
209
			END
210
	END
211
END
212

    
213
IF(@TOTAL_AMT > 20000000)
214
BEGIN
215
	SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
216
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
217
END
218

    
219
-- LUCTV 08122020 KIỂM TRA NẾU TỜ TRÌNH LINK TỚI PYCMS LÀ TỜ TRÌNH TOÀN HÀNG THÌ ĐMMS GIAO CHO ĐƠN VỊ TỰ MUA SẮM
220

    
221
IF(@ISCHECK_ALL ='1' AND NOT EXISTS (SELECT BRANCH_ID FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE AND BRANCH_TYPE='HS'))
222
BEGIN
223
	SET @DMMS_ID= (SELECT TOP 1 DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
224
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=0 WHERE REQ_ID=@p_REQ_ID
225
END
226

    
227
IF(@TOTAL_AMT <= 10000000 AND @BRANCH_CREATE=@BRANCH_HS AND
228
			(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (DMMS_ID IS NULL OR DMMS_ID  = ''))))
229
BEGIN
230
	PRINT 'XAC ĐINH DMMS CHINH LA DON VI TAO PYCMS'
231
	SET @DMMS_ID=(SELECT TOP 1 DVDM_ID FROM dbo.CM_DVDM WHERE IS_KHOI <> '1' AND DVDM_ID IN(SELECT PC.DVDM_ID FROM dbo.PL_COSTCENTER PC LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.COST_ID=PC.COST_ID WHERE DT.DEP_ID=@DEP_CREATE AND DT.BRANCH_ID=@BRANCH_CREATE))
232
	IF(@DMMS_ID IS NULL OR @DMMS_ID ='')
233
		SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
234

    
235
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
236
END
237
--- XAC DINH NEU HANG HOA DO DVCM TU MUA SAM 202238
238
IF (EXISTS(SELECT * FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_ID AND HANGHOA_ID	
239
													IN (SELECT HH_ID FROM CM_HANGHOA WHERE HH_CODE IN ('THQHCC-001-000006','SPMKT-001-000007','DVNS-002-000001','THQHCC-001-000003','DVNS-001-000001'))))
240
BEGIN
241
	PRINT 'XAC ĐINH DMMS CHINH LA DON VI TAO PYCMS'
242
	SET @DMMS_ID=(SELECT TOP 1 DVDM_ID FROM dbo.CM_DVDM WHERE IS_KHOI <> '1' AND DVDM_ID IN(SELECT PC.DVDM_ID FROM dbo.PL_COSTCENTER PC LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.COST_ID=PC.COST_ID WHERE DT.DEP_ID=@DEP_CREATE AND DT.BRANCH_ID=@BRANCH_CREATE))
243
	IF(@DMMS_ID IS NULL OR @DMMS_ID ='')
244
		SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
245

    
246
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
247
END
248

    
249

    
250
-- LUCTV 08122020
251

    
252
	--IF(EXISTS(	SELECT RD.REQDT_ID FROM dbo.TR_REQUEST_DOC_DT RD 
253
	--	LEFT JOIN dbo.SYS_HH_GROUP_LIMIT HGL ON RD.HANGHOA_ID=HGL.HH_ID
254
	--	LEFT JOIN dbo.SYS_GROUP_LIMIT GL ON GL.GROUP_ID=HGL.GROUP_LIMIT_ID
255
	--	WHERE GL.IS_HO=1 AND RD.REQ_DOC_ID=@p_REQ_ID)  OR @BRANCH_CREATE=@BRANCH_HS)
256
	--	BEGIN
257
	--		IF(@TOTAL_AMT<=@LIMIT_VALUE AND NOT EXISTS(SELECT HC.DVCM_ID FROM dbo.TR_REQUEST_DOC_DT DT 
258
	--													LEFT JOIN dbo.CM_HANGHOA_DVCM HC ON HC.HH_ID=DT.HANGHOA_ID WHERE REQ_DOC_ID=@p_REQ_ID
259
	--					GROUP BY HC.DVCM_ID HAVING COUNT(REQDT_ID)>1))
260
	--		BEGIN
261
	--			SET @DMMS_ID= (SELECT DISTINCT HC.DVCM_ID FROM dbo.TR_REQUEST_DOC_DT DT 
262
	--													LEFT JOIN dbo.CM_HANGHOA_DVCM HC ON HC.HH_ID=DT.HANGHOA_ID WHERE REQ_DOC_ID=@p_REQ_ID)
263
	--			UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=2 WHERE REQ_ID=@p_REQ_ID
264
	--		END
265
	--		ELSE
266
	--		BEGIN
267
	--			SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
268
	--			UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
269
	--		END
270
	--	END
271
	--	ELSE
272
	--	BEGIN
273
	--		IF(@TOTAL_AMT<=@LIMIT_VALUE)
274
	--		BEGIN
275
	--			SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
276
	--			UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=0 WHERE REQ_ID=@p_REQ_ID
277
	--		END
278
	--		ELSE
279
	--		BEGIN
280
	--			SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
281
	--			UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
282
	--		END
283
	--	END
284

    
285

    
286
		INSERT INTO dbo.PL_REQUEST_PROCESS
287
		(
288
			REQ_ID,
289
			PROCESS_ID,
290
			STATUS,
291
			ROLE_USER,
292
			BRANCH_ID,
293
			CHECKER_ID,
294
			APPROVE_DT,
295
			PARENT_PROCESS_ID,
296
			IS_LEAF,
297
			COST_ID,
298
			DVDM_ID,
299
			NOTES,
300
			IS_HAS_CHILD,
301
			DEP_ID
302
		)
303
		VALUES
304
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
305
			'APPNEW',        -- PROCESS_ID - varchar(10)
306
			'P',        -- STATUS - varchar(5)
307
			'GDDV',        -- ROLE_USER - varchar(50)
308
			@BRANCH_CREATE,        -- BRANCH_ID - varchar(15)
309
			@p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
310
			GETDATE(), -- APPROVE_DT - datetime
311
			'',        -- PARENT_PROCESS_ID - varchar(10)
312
			'',        -- IS_LEAF - varchar(1)
313
			'',        -- COST_ID - varchar(15)
314
			'',        -- DVDM_ID - varchar(15)
315
			N'Trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
316
			0 ,      -- IS_HAS_CHILD - bit
317
			@DEP_CREATE
318
			)
319

    
320
			INSERT INTO dbo.PL_REQUEST_PROCESS
321
		(
322
			REQ_ID,
323
			PROCESS_ID,
324
			STATUS,
325
			ROLE_USER,
326
			BRANCH_ID,
327
			CHECKER_ID,
328
			APPROVE_DT,
329
			PARENT_PROCESS_ID,
330
			IS_LEAF,
331
			COST_ID,
332
			DVDM_ID,
333
			NOTES,
334
			IS_HAS_CHILD
335
		)
336
		VALUES
337
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
338
			'DMMS',        -- PROCESS_ID - varchar(10)
339
			'C',        -- STATUS - varchar(5)
340
			'GDDV',        -- ROLE_USER - varchar(50)
341
			'',        -- BRANCH_ID - varchar(15)
342
			'',        -- CHECKER_ID - varchar(15)
343
			GETDATE(), -- APPROVE_DT - datetime
344
			'APPNEW',        -- PARENT_PROCESS_ID - varchar(10)
345
			'',        -- IS_LEAF - varchar(1)
346
			'',        -- COST_ID - varchar(15)
347
			@DMMS_ID,        -- DVDM_ID - varchar(15)
348
			N'Chờ đầu mối mua sắm xử lý',       -- NOTES - nvarchar(500)
349
			1       -- IS_HAS_CHILD - bit
350
		 )
351

    
352
		INSERT INTO dbo.PL_PROCESS
353
		(
354
			REQ_ID,
355
			PROCESS_ID,
356
			CHECKER_ID,
357
			APPROVE_DT,
358
			PROCESS_DESC,NOTES
359
		)
360
		VALUES
361
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
362
			'APPNEW',        -- PROCESS_ID - varchar(10)
363
			@p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
364
			@p_APPROVE_DT , -- APPROVE_DT - datetime
365
			--@p_PROCESS_DES,
366
			N'Trưởng đơn vị phê duyệt thành công',
367
			 N'Trưởng đơn vị phê duyệt'        -- PROCESS_DESC - nvarchar(1000)
368
		)
369
	END
370
	IF @@Error <> 0 GOTO ABORT
371
			
372
COMMIT TRANSACTION
373
IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE AUTH_STATUS ='A' AND REQ_ID =@p_REQ_ID))
374
BEGIN
375
	SELECT '0' as Result, '' ErrorDesc
376
	RETURN '0'
377
END
378
ELSE
379
BEGIN
380
	SELECT '4' as Result, N'Phiếu yêu cầu mua sắm số: '+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID) +N' đã được đợi cấp phê duyệt trung gian xác nhận thành công. Vui lòng đợi trưởng đơn vị phê duyệt' ErrorDesc
381
	RETURN '4'
382
END
383
ABORT:
384
BEGIN
385
		PRINT 'ERROR'
386
		ROLLBACK TRANSACTION
387
		SELECT '-1' as Result, '' ErrorDesc
388
		RETURN '-1'
389
End