Project

General

Profile

TR_REQUEST_DOC_App.txt

Luc Tran Van, 04/21/2022 03:33 PM

 
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
	--- PHE DUYET TRUNG GIAN
40
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE_N VARCHAR(20) ,@DEP_CREATE_N VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
41
	@BRANCH_CREATE_TYPE VARCHAR(10)
42
	SELECT @BRANCH_CREATE_N=BRANCH_CREATE,@DEP_CREATE_N=DEP_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
43
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
44
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE_N)
45
	-- 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
46
	DECLARE @PL_REQ_REF VARCHAR(15), @ISCHECK_ALL VARCHAR(1)
47
	SET @PL_REQ_REF =(SELECT TOP 1 PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)
48
	SET @ISCHECK_ALL =(SELECT TOP 1 IS_CHECKALL FROM PL_REQUEST_DOC WHERE REQ_ID =@PL_REQ_REF)
49
	-- LUCTV 08122020: END
50
	IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER =@p_CHECKER_ID AND PROCESS_ID ='SIGN'))
51
	BEGIN
52
		DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
53
		INSERT INTO dbo.PL_PROCESS
54
		(
55
			REQ_ID,
56
			PROCESS_ID,
57
			CHECKER_ID,
58
			APPROVE_DT,
59
			PROCESS_DESC,NOTES
60
		)
61
		VALUES
62
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
63
			'SIGN',        -- PROCESS_ID - varchar(10)
64
			@p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
65
			@p_APPROVE_DT , -- APPROVE_DT - datetime
66
			N'Cấp phê duyệt trung gian xác nhận phiếu yêu cầu mua sắm',
67
			N'Cấp phê duyệt trung gian'
68
		)
69
	--- DUA CAP PHE DUYET TRUONG DON VI
70
		--IF(@BRANCH_CREATE_TYPE='PGD')
71
		--	SET @BRANCH_CREATE_N=(SELECT FATHER_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE_N)
72

    
73
	    INSERT INTO dbo.PL_REQUEST_PROCESS
74
		(
75
		    REQ_ID,
76
		    PROCESS_ID,
77
		    STATUS,
78
		    ROLE_USER,
79
		    BRANCH_ID,
80
			DEP_ID,
81
		    CHECKER_ID,
82
		    APPROVE_DT,
83
		    PARENT_PROCESS_ID,
84
		    IS_LEAF,
85
		    COST_ID,
86
		    DVDM_ID,
87
		    NOTES,
88
		    IS_HAS_CHILD
89
		)
90
		VALUES
91
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
92
		    'APPNEW',        -- PROCESS_ID - varchar(10)
93
		    'C',        -- STATUS - varchar(5)
94
		    'GDDV',        -- ROLE_USER - varchar(50)
95
		    @BRANCH_CREATE_N,  
96
			@DEP_CREATE_N,      -- BRANCH_ID - varchar(15)
97
		    '',        -- CHECKER_ID - varchar(15)
98
		    NULL,      -- APPROVE_DT - datetime
99
		    '',        -- PARENT_PROCESS_ID - varchar(10)
100
		    'N',        -- IS_LEAF - varchar(1)
101
		    '',        -- COST_ID - varchar(15)
102
		    '',        -- DVDM_ID - varchar(15)
103
		    N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
104
		    NULL       -- IS_HAS_CHILD - bit
105
		 )
106
	--- UPDATE PROCESS_ID VE APP_NEW
107
	UPDATE TR_REQUEST_DOC SET PROCESS_ID ='APPNEW' WHERE REQ_ID =@p_REQ_ID
108
	END
109
	ELSE
110
	--- PHE DUYET GIU NGUYEN NHU THUONG
111
	BEGIN
112
		DECLARE @ROLE_USER_LOGIN VARCHAR(15)=''
113
		SET @ROLE_USER_LOGIN =(SELECT RoleName FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
114
		--- KIEM TRA XEM DA PHE DUYET TRUNG GIAN HAY CHUA
115
		IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <> ''))
116
		BEGIN
117
			IF(NOT EXISTS (SELECT * FROM PL_PROCESS WHERE PROCESS_ID='SIGN' AND REQ_ID =@p_REQ_ID))
118
			BEGIN
119
				ROLLBACK TRANSACTION
120
				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
121
				RETURN '-1'
122
			END
123
			IF(@p_CHECKER_ID = (SELECT SIGN_USER FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID) AND @BRANCH_CREATE_TYPE ='HS')
124
			BEGIN
125
				ROLLBACK TRANSACTION
126
				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
127
				RETURN '-1'
128
			END
129
		END
130
		-- 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Ị
131
		--IF(
132
		DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID
133
		DECLARE @CURR_PROCESS VARCHAR(20),@TOTAL_AMT DECIMAL(18,2),
134
		 @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)
135
		SET @BRANCH_HS= (SELECT TOP 1 BRANCH_ID FROM dbo.CM_BRANCH WHERE BRANCH_TYPE='HS')
136
		SET @LIMIT_VALUE=(SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE  LIMIT_TYPE='PYCMS_DVKD')
137
		SET @LIMIT_DVCM=(SELECT LIMIT_VALUE FROM dbo.TL_SYSROLE_LIMIT WHERE  LIMIT_TYPE='PYCMS_DVCM')
138
		SET @TOTAL_AMT=(SELECT TOTAL_AMT FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
139

    
140
		SET @CURR_PROCESS = (SELECT PROCESS_ID FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
141

    
142
		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
143

    
144
	--	SET @IS_NEXT=(SELECT dbo.FN_CHECK_LIMIT_TR_REQ(@p_REQ_ID,'GDDV'))
145

    
146
		SET @BRANCH_CREATE=(SELECT BRANCH_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
147
		SET @DEP_CREATE=(SELECT DEP_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID)
148

    
149
		--IF(@BRANCH_CREATE_TYPE='PGD')
150
		--	SET @BRANCH_CREATE=(SELECT BRANCH_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
151

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

    
203
IF(@TOTAL_AMT > 20000000)
204
BEGIN
205
	SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_HS)
206
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_HS,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
207
END
208

    
209
-- 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
210

    
211
IF(@ISCHECK_ALL ='1' AND NOT EXISTS (SELECT BRANCH_ID FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE AND BRANCH_TYPE='HS'))
212
BEGIN
213
	SET @DMMS_ID= (SELECT TOP 1 DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
214
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=0 WHERE REQ_ID=@p_REQ_ID
215
END
216

    
217
IF(@TOTAL_AMT <= 10000000 AND @BRANCH_CREATE=@BRANCH_HS AND
218
			(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (DMMS_ID IS NULL OR DMMS_ID  = ''))))
219
BEGIN
220
	PRINT 'XAC ĐINH DMMS CHINH LA DON VI TAO PYCMS'
221
	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))
222
	IF(@DMMS_ID IS NULL OR @DMMS_ID ='')
223
		SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
224

    
225
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
226
END
227
--- XAC DINH NEU HANG HOA DO DVCM TU MUA SAM 202238
228
IF (EXISTS(SELECT * FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_ID AND HANGHOA_ID	
229
													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'))))
230
BEGIN
231
	PRINT 'XAC ĐINH DMMS CHINH LA DON VI TAO PYCMS'
232
	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))
233
	IF(@DMMS_ID IS NULL OR @DMMS_ID ='')
234
		SET @DMMS_ID= (SELECT DMMS_ID FROM dbo.CM_DMMS WHERE BRANCH_ID=@BRANCH_CREATE)
235

    
236
	UPDATE dbo.TR_REQUEST_DOC SET BRANCH_DVMS=@BRANCH_CREATE,DMMS_ID=@DMMS_ID,REQ_TYPE=1 WHERE REQ_ID=@p_REQ_ID
237
END
238

    
239

    
240
-- LUCTV 08122020
241

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

    
275

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

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

    
342
		INSERT INTO dbo.PL_PROCESS
343
		(
344
			REQ_ID,
345
			PROCESS_ID,
346
			CHECKER_ID,
347
			APPROVE_DT,
348
			PROCESS_DESC,NOTES
349
		)
350
		VALUES
351
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
352
			'APPNEW',        -- PROCESS_ID - varchar(10)
353
			@p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
354
			@p_APPROVE_DT , -- APPROVE_DT - datetime
355
			@p_PROCESS_DES,
356
			 N'Trưởng đơn vị phê duyệt'        -- PROCESS_DESC - nvarchar(1000)
357
		)
358
	END
359
	IF @@Error <> 0 GOTO ABORT
360
			
361
COMMIT TRANSACTION
362
IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE AUTH_STATUS ='A' AND REQ_ID =@p_REQ_ID))
363
BEGIN
364
	SELECT '0' as Result, '' ErrorDesc
365
	RETURN '0'
366
END
367
ELSE
368
BEGIN
369
	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
370
	RETURN '4'
371
END
372
ABORT:
373
BEGIN
374
		PRINT 'ERROR'
375
		ROLLBACK TRANSACTION
376
		SELECT '-1' as Result, '' ErrorDesc
377
		RETURN '-1'
378
End