Project

General

Profile

TR_REQUEST_DOC_SendApp.txt

Luc Tran Van, 11/08/2022 01:33 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQUEST_DOC_SendApp]
3
@p_REQ_ID VARCHAR(20),
4
@p_PROCESS_ID VARCHAR(20),
5
@p_TLNAME VARCHAR(20),
6
@p_MAKER_ID VARCHAR(20)
7
AS
8
BEGIN TRANSACTION
9
	IF(EXISTS(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (REQ_DT IS NULL OR REQ_DT='')) )
10
	BEGIN
11
			ROLLBACK TRANSACTION
12
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Ngày yêu cầu bắt buộc nhập' ErrorDesc
13
			RETURN '-1'
14
	END
15
	IF((SELECT CONVERT(DATE, REQ_DT, 103) FROM dbo.TR_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID) > CONVERT(DATE, GETDATE(),103))
16
	BEGIN
17
			ROLLBACK TRANSACTION
18
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Ngày yêu cầu mua sắm không được phép lớn hơn ngày hiện tại' ErrorDesc
19
			RETURN '-1'
20
	END
21
	IF(EXISTS(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (REQ_REASON IS NULL OR REQ_REASON='')) )
22
	BEGIN
23
			ROLLBACK TRANSACTION
24
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Mục đích yêu cầu bắt buộc nhập' ErrorDesc
25
			RETURN '-1'
26
	END
27
	IF(EXISTS(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE  REQ_ID=@p_REQ_ID AND  (PL_REQ_ID IS NULL OR PL_REQ_ID='')) )
28
	BEGIN
29
			ROLLBACK TRANSACTION
30
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Tờ trình chủ trương bắt buộc nhập' ErrorDesc
31
			RETURN '-1'
32
	END
33
	IF(NOT EXISTS(SELECT REQ_DOC_ID FROM dbo.TR_REQUEST_DOC_DT WHERE  REQ_DOC_ID=@p_REQ_ID ) )
34
	BEGIN
35
			ROLLBACK TRANSACTION
36
			SELECT '-1' AS Result ,'' REQ_CODE, ''  REQ_ID, N'Chi tiết hàng hóa bắt buộc nhập' ErrorDesc
37
			RETURN '-1'
38
	END
39

    
40
	-------------------BAODNQ 24/10/2022 : XÓA DATA DVCM KHI GỬI PHÊ DUYỆT-----------------
41
	DELETE FROM dbo.TR_REQUEST_COSTCENTER WHERE REQ_ID=@p_REQ_ID
42
	-----------------------------ENDBAODNQ---------------------
43

    
44
	--- XOA DATA CU
45
	DELETE PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID
46
	-----
47
	DECLARE @NS_TO_TRINH DECIMAL(18,0), @NS_PYCMS_USE DECIMAL(18,0), @NS_LUY_KE DECIMAL(18,0),@PL_REQ_CODE VARCHAR(50)
48
	SET @PL_REQ_CODE =(SELECT REQ_CODE FROM PL_REQUEST_DOC WHERE REQ_ID =(SELECT PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID))
49
	SET @NS_TO_TRINH =(SELECT TOTAL_AMT FROM PL_REQUEST_DOC WHERE REQ_ID =(SELECT PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID))
50
	SET @NS_PYCMS_USE =(SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_ID)
51
	SET @NS_LUY_KE =ISNULL((SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID IN 
52
	(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE PL_REQ_ID=(SELECT PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID) AND PROCESS_ID='APPROVE')),0)
53
	DECLARE @p_PL_REQ_ID VARCHAR(15),@p_REQ_DATE DATETIME
54
	SELECT @p_PL_REQ_ID=PL_REQ_ID,@p_REQ_DATE=REQ_DT  FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
55
	--IF( EXISTS(
56
	--		SELECT Temp.GD_ID FROM (SELECT GD_ID,SUM(TOTAL_AMT) AS TOTAL_AMT_ETM FROM dbo.TR_REQUEST_DOC_DT   WHERE REQ_DOC_ID=@p_REQ_ID
57
	--		GROUP BY GD_ID) Temp WHERE    TOTAL_AMT_ETM > 
58
	--		((SELECT SUM(TEMP2.TOTAL_AMT) AS TOTAL_AMT_APP FROM
59
	--		(SELECT GOODS_ID,TOTAL_AMT FROM dbo.PL_REQUEST_DOC_DT
60
	--		WHERE REQ_ID=@p_PL_REQ_ID
61
	--		UNION 
62
	--		SELECT GOODS_ID,TOTAL_AMT FROM dbo.PL_REQUEST_DOC_DT
63
	--		WHERE REQ_ID=(SELECT REQ_PARENT_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID) ) TEMP2 WHERE TEMP2.GOODS_ID=Temp.GD_ID
64
	--		GROUP BY TEMP2.GOODS_ID) - (SELECT ISNULL(SUM(TOTAL_AMT),0) AS TOTAL_AMT_EXE FROM dbo.TR_REQUEST_DOC_DT WHERE GD_ID=Temp.GD_ID AND REQ_DOC_ID IN (SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE PL_REQ_ID=@p_PL_REQ_ID AND PROCESS_ID='APPROVE')
65
	--		GROUP BY GD_ID))))
66
	--	BEGIN
67
	--		ROLLBACK TRANSACTION
68
	--		SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID,
69
	--		N'Thông tin liên quan tới phiếu yêu cầu mua sắm có sử dụng tờ trình số: '+ @PL_REQ_CODE
70
	--		+CHAR(10)+ N'Tổng số tiền lũy kế sử dụng ngân sách tờ trình: '+FORMAT(@NS_LUY_KE ,'#,#', 'vi-VN')
71
	--		+CHAR(10)+N'Tổng số tiền ngân sách còn lại của tờ trình: '+ FORMAT(@NS_TO_TRINH -@NS_LUY_KE ,'#,#', 'vi-VN')
72
	--		+CHAR(10)+ N'Số tiền sử dụng ngân sách cho phiếu yêu cầu mua sắm hiện tại vượt '+FORMAT(@NS_LUY_KE+@NS_PYCMS_USE -@NS_TO_TRINH ,'#,#', 'vi-VN')+N' so với tổng số tiền ngân sách còn lại của tờ trình.'
73
	--		+CHAR(10) +N'Vui lòng tra cứu tổng số tiền các phiếu yêu cầu mua sắm để biết thêm thông tin chi tiêt!' ErrorDesc 
74
	--		RETURN '0'
75
	--	END
76
	-- LUCTV: 05-12-2020: KHAI BAO CURSOR DE  KIEM TRA TONG HAN MUC SU DUNG PYC LINK TỚI TỜ TRÌNH
77
	-- LẤY SUM TỜ TRÌNH CHA
78
	DECLARE @SUM_TO_TRINH_CHINH DECIMAL(18) =0, @SUM_TO_TRINH_CON DECIMAL(18,0), @SUM_PYC_LUY_KE DECIMAL(18,0), @PYCMS_CODE_LIST VARCHAR(100), @SUM_THANH_TOAN DECIMAL(18,0), @PDNTT_CODE_LIST VARCHAR(250)
79
	SET @SUM_TO_TRINH_CHINH =(SELECT ISNULL(SUM(TOTAL_AMT),0) FROM  PL_REQUEST_DOC_DT WHERE REQ_ID =@p_PL_REQ_ID)
80
	-- LẤY SUM TỜ TRÌNH CON
81
	SET @SUM_TO_TRINH_CON =(SELECT ISNULL(SUM(TOTAL_AMT),0) FROM  PL_REQUEST_DOC_DT WHERE REQ_ID IN (SELECT REQ_ID FROM PL_REQUEST_DOC WHERE REQ_PARENT_ID =@p_PL_REQ_ID))
82
	---
83
	SET @SUM_PYC_LUY_KE =(SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID 
84
							IN (SELECT REQ_ID FROM TR_REQUEST_DOC WHERE PL_REQ_ID =@p_PL_REQ_ID AND AUTH_STATUS  IN  ('U','A')) 
85
							AND REQ_DOC_ID <> @p_REQ_ID)   
86
	SET @SUM_THANH_TOAN = (SELECT SUM(TOTAL_AMT) FROM TR_REQ_PAY_SERVICE WHERE EMP_ID =@p_PL_REQ_ID AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS IN ('U','A')))
87
	IF(ISNULL(@SUM_TO_TRINH_CHINH,0) + ISNULL(@SUM_TO_TRINH_CON,0) <@SUM_PYC_LUY_KE+@NS_PYCMS_USE + ISNULL(@SUM_THANH_TOAN,0))
88
	BEGIN
89
	ROLLBACK TRANSACTION
90
			SET @PYCMS_CODE_LIST = (select STUFF( (select '; ' + DTA.REQ_CODE FROM TR_REQUEST_DOC DTA WHERE PL_REQ_ID =@p_PL_REQ_ID AND AUTH_STATUS  IN  ('U','A')
91
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
92
			SET @PDNTT_CODE_LIST = (select STUFF( (select '; ' + REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAY_SERVICE WHERE EMP_ID =@p_PL_REQ_ID AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS IN ('U','A')))
93
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
94
			SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID,
95
			N'Thông tin liên quan tới phiếu yêu cầu mua sắm có sử dụng tờ trình số: '+ @PL_REQ_CODE
96
			+ N'Tổng số tiền lũy kế sử dụng ngân sách tờ trình: '+FORMAT(@SUM_PYC_LUY_KE ,'#,#', 'vi-VN'),
97
			+ N'Tổng số tiền lũy kế đã thanh toán cho tờ trình: '+FORMAT(isnull(@SUM_THANH_TOAN,0) ,'#,#', 'vi-VN')
98
			+ N'\n Tổng số tiền ngân sách còn lại của tờ trình: '+ FORMAT(ISNULL(@SUM_TO_TRINH_CHINH,0)+ ISNULL(@SUM_TO_TRINH_CON,0) -@SUM_PYC_LUY_KE -ISNULL(@SUM_THANH_TOAN,0) ,'#,#', 'vi-VN')
99
			+ N'\n Số tiền sử dụng ngân sách cho phiếu yêu cầu mua sắm hiện tại vượt '+FORMAT(ISNULL(@SUM_PYC_LUY_KE,0)+@NS_PYCMS_USE +ISNULL(@SUM_THANH_TOAN,0) -(ISNULL(@SUM_TO_TRINH_CHINH,0)+ ISNULL(@SUM_TO_TRINH_CON,0)) ,'#,#', 'vi-VN')+N' so với tổng số tiền ngân sách còn lại của tờ trình.'
100
			+ N'\n Vui lòng tra cứu tổng số tiền các phiếu yêu cầu mua sắm số: '+ISNULL(@PYCMS_CODE_LIST,'')+N' để biết thêm thông tin chi tiêt!'
101
			+ N'\n Vui lòng tra cứu tổng số tiền trên các phiếu thanh toán: '+ISNULL(@PDNTT_CODE_LIST,'')+N' để biết thêm thông tin chi tiêt!' ErrorDesc 
102
			RETURN '0'
103
	END
104
	-- KHAI BÁO CURRS0R ĐỂ CHECK LŨY KẾ TỪNG HẠNG MỤC
105
	DECLARE @PL_DT_ID VARCHAR(15), @SUM_@PL_DT_ID  DECIMAL(18,0), @INDEX INT =0, @TOTAL_AMT_DETAIL DECIMAL(18,0), @REMAIN_AMT DECIMAL(18,0), @AMT_PL_DT DECIMAL(18,0), @AMT_PL_DT_EX DECIMAL(18,0)
106
	DECLARE CURS CURSOR FOR SELECT PL_REQDT_ID, TOTAL_AMT  FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID  =@p_REQ_ID
107
		OPEN CURS
108
			FETCH NEXT FROM CURS INTO @PL_DT_ID,@TOTAL_AMT_DETAIL
109
			WHILE @@FETCH_STATUS = 0
110
			BEGIN
111
				SET @INDEX = @INDEX +1
112
				-- KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
113
				--IF((SELECT A.REQ_AMT - A.PAY_AMT FROM TR_REQ_ADVANCE_PAYMENT A WHERE A.REQ_PAY_ID = @PAY_ADVANCE_ID)=0)
114

    
115
				SET @SUM_@PL_DT_ID =(SELECT SUM (TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID IN (SELECT REQ_ID FROM TR_REQUEST_DOC WHERE PL_REQ_ID =@p_PL_REQ_ID AND AUTH_STATUS  IN ('U','A')) 
116
										     AND PL_REQDT_ID =@PL_DT_ID)
117
				SET @AMT_PL_DT =(SELECT ISNULL(TOTAL_AMT,0) FROM PL_REQUEST_DOC_DT WHERE REQDT_ID =@PL_DT_ID)
118
				SET @REMAIN_AMT = ISNULL(@AMT_PL_DT,0) -ISNULL(@SUM_@PL_DT_ID,0)
119
				--SET @SUM_@PL_DT_ID = ISNULL(@SUM_@PL_DT_ID,0)+ISNULL(@TOTAL_AMT_DETAIL,0)
120
				SET @AMT_PL_DT_EX =(SELECT SUM (TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID  =@p_REQ_ID AND PL_REQDT_ID =@PL_DT_ID)
121
										     --AND PL_REQDT_ID =@PL_DT_ID)
122
				--PRINT @SUM_@PL_DT_ID
123
				IF(ISNULL(@SUM_@PL_DT_ID,0)+ ISNULL(@AMT_PL_DT_EX,0) >  @AMT_PL_DT)
124
				--IF(1<2)
125
				BEGIN
126
					ROLLBACK TRANSACTION
127
					SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Ngân sách sử dụng của hạng mục: '+
128
					(SELECT ISNULL(DESCRIPTION,'') FROM PL_REQUEST_DOC_DT WHERE REQDT_ID =@PL_DT_ID) +N' đã vượt quá số tiền trình chủ trương.'
129
					+ N'\n Số tiền đã gửi phê duyệt thành công trong những PUR khác: '+ FORMAT(ISNULL(@SUM_@PL_DT_ID,0) ,'#,#', 'vi-VN')
130
					+ N'\n Số tiền còn lại có thể sử dụng: '+ CASE WHEN @REMAIN_AMT >0 THEN FORMAT(ISNULL(@REMAIN_AMT,0) ,'#,#', 'vi-VN') ELSE '0.00' END
131
					--+CHAR(10)+N'Số tiền vượt hạn mức: '+ FORMAT(ISNULL(@SUM_@PL_DT_ID,0) +ISNULL(@TOTAL_AMT_DETAIL,0) -  (@AMT_PL_DT) ,'#,#', 'vi-VN') 
132
					ErrorDesc
133
					RETURN '-1'
134
				END
135
				--UPDATE TR_REQ_ADVANCE_PAYMENT SET PAY_AMT = ISNULL(PAY_AMT,0) + ISNULL(@AMT_PAY,0.00) +ISNULL(@AMT_REVERT,0.00) WHERE REQ_PAY_ID =@PAY_ADVANCE_ID
136
				-- SO SÁNH TỔNG BREAK DOWN TỪ 1 HẠNG MỤC
137
				--IF(SELECT SUM())
138
			FETCH NEXT FROM CURS INTO @PL_DT_ID,@TOTAL_AMT_DETAIL
139
		END
140
		CLOSE CURS
141
		DEALLOCATE CURS
142
	--: HẾT ĐOẠN BỔ SUNG CỦA LỰCTV
143
	--IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND REQ_DT <= @p_REQ_DATE))
144
	--IF(EXISTS(SELECT REQPL_DT_ID FROM dbo.TR_REQUEST_DOC_PL_DT WHERE REQ_DOC_ID=@p_REQ_ID AND REQ_DT <= @p_REQ_DATE))
145
	--	BEGIN
146
	--		ROLLBACK TRANSACTION
147
	--		SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa theo tờ trình: Ngày cần không được phép để trống và phải lớn hơn ngày yêu cầu mua sắm' ErrorDesc 
148
	--		RETURN '0'
149
	--END
150
	IF(EXISTS(SELECT REQPL_DT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND REQ_DT <= @p_REQ_DATE))
151
		BEGIN
152
			ROLLBACK TRANSACTION
153
			SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa mua sắm thực tế: Ngày cần không được phép để trống và phải lớn hơn ngày yêu cầu mua sắm' ErrorDesc 
154
			RETURN '0'
155
	END
156
	IF(EXISTS(SELECT REQPL_DT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND (REQ_DT IS NULL OR REQ_DT ='')))
157
		BEGIN
158
			ROLLBACK TRANSACTION
159
			SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa mua sắm thực tế: Ngày cần không được phép để trống và phải lớn hơn ngày yêu cầu mua sắm' ErrorDesc 
160
			RETURN '0'
161
	END
162
	IF(EXISTS(SELECT [DESCRIPTION] FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND ([DESCRIPTION] IS NULL OR [DESCRIPTION] ='')))
163
		BEGIN
164
			ROLLBACK TRANSACTION
165
			SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa mua sắm thực tế: Mô tả hàng hóa/ dịch vụ không được phép để trống' ErrorDesc 
166
			RETURN '0'
167
	END
168
	IF(EXISTS(SELECT UNIT_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (UNIT_ID IS NULL OR UNIT_ID ='')))
169
		BEGIN
170
			ROLLBACK TRANSACTION
171
			SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa mua sắm thực tế: Đơn vị tính không được phép để trống' ErrorDesc 
172
			RETURN '0'
173
	END
174
	IF(EXISTS(SELECT QUANTITY FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID AND (QUANTITY IS NULL OR QUANTITY ='')))
175
		BEGIN
176
			ROLLBACK TRANSACTION
177
			SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa mua sắm thực tế: Số lượng không được phép để trống' ErrorDesc 
178
			RETURN '0'
179
	END
180
	DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
181
	@BRANCH_CREATE_TYPE VARCHAR(10)
182

    
183
	SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
184

    
185
	-----------------BAODNQ 25/8/2022 : Nếu ĐV tạo khác HS, ko lấy theo phòng ban------------
186
	IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) <> 'HS')
187
	BEGIN
188
		SET @DEP_CREATE = NULL
189
	END
190

    
191
	SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
192
	SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
193
	-- KIEM TRA XEM CO CAP PHE DUYET HAY KHONG
194
	IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
195
	BEGIN
196
		UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='SIGN' WHERE REQ_ID=@p_REQ_ID
197
		INSERT INTO dbo.PL_REQUEST_PROCESS
198
		(
199
		    REQ_ID,
200
		    PROCESS_ID,
201
		    STATUS,
202
		    ROLE_USER,
203
		    BRANCH_ID,
204
			DEP_ID,
205
		    CHECKER_ID,
206
		    APPROVE_DT,
207
		    PARENT_PROCESS_ID,
208
		    IS_LEAF,
209
		    COST_ID,
210
		    DVDM_ID,
211
		    NOTES,
212
		    IS_HAS_CHILD
213
		)
214
		VALUES
215
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
216
		    'SIGN',        -- PROCESS_ID - varchar(10)
217
		    'C',        -- STATUS - varchar(5)
218
		    (SELECT RoleName FROM TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)),  -- ROLE_USER - varchar(50)
219
		    @BRANCH_CREATE,  
220
			@DEP_CREATE,      -- BRANCH_ID - varchar(15)
221
		    '',        -- CHECKER_ID - varchar(15)
222
		    NULL,      -- APPROVE_DT - datetime
223
		    '',        -- PARENT_PROCESS_ID - varchar(10)
224
		    'N',        -- IS_LEAF - varchar(1)
225
		    '',        -- COST_ID - varchar(15)
226
		    '',        -- DVDM_ID - varchar(15)
227
		    N'Chờ cấp phê duyệt trung gian xác nhận phiếu',       -- NOTES - nvarchar(500)
228
		    NULL       -- IS_HAS_CHILD - bit
229
		 )
230
	END
231
	ELSE
232
	BEGIN
233
	--IF(@BRANCH_CREATE_TYPE='PGD')
234
	--	SET @BRANCH_CREATE=(SELECT FATHER_ID  FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
235
	
236
	UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
237
	INSERT INTO dbo.PL_REQUEST_PROCESS
238
		(
239
		    REQ_ID,
240
		    PROCESS_ID,
241
		    STATUS,
242
		    ROLE_USER,
243
		    BRANCH_ID,
244
			DEP_ID,
245
		    CHECKER_ID,
246
		    APPROVE_DT,
247
		    PARENT_PROCESS_ID,
248
		    IS_LEAF,
249
		    COST_ID,
250
		    DVDM_ID,
251
		    NOTES,
252
		    IS_HAS_CHILD
253
		)
254
		VALUES
255
		(   @p_REQ_ID,        -- REQ_ID - varchar(15)
256
		    'APPNEW',        -- PROCESS_ID - varchar(10)
257
		    'C',        -- STATUS - varchar(5)
258
		    'GDDV',        -- ROLE_USER - varchar(50)
259
		    @BRANCH_CREATE,  
260
			@DEP_CREATE,      -- BRANCH_ID - varchar(15)
261
		    '',        -- CHECKER_ID - varchar(15)
262
		    NULL,      -- APPROVE_DT - datetime
263
		    '',        -- PARENT_PROCESS_ID - varchar(10)
264
		    'N',        -- IS_LEAF - varchar(1)
265
		    '',        -- COST_ID - varchar(15)
266
		    '',        -- DVDM_ID - varchar(15)
267
		    N'Chờ trưởng đơn vị phê duyệt',       -- NOTES - nvarchar(500)
268
		    NULL       -- IS_HAS_CHILD - bit
269
		 )
270
	END
271
	
272
	--------------BAODNQ 4/11/2022: NG TẠO GỬI PHÊ DUYỆT MÀ K CÓ DVCM THÌ GHI LOG--------------
273
	DECLARE @p_LOG_MESSAGE NVARCHAR(MAX)
274
	IF(NOT EXISTS (SELECT * FROM TR_REQUEST_COSTCENTER WHERE REQ_ID = @p_REQ_ID))
275
	BEGIN
276
		SET @p_LOG_MESSAGE = N'Nhân viên gửi phê duyệt và không chọn DVCM'
277
	END
278
	ELSE
279
	BEGIN
280
		SET @p_LOG_MESSAGE = N'Nhân viên gửi phê duyệt'
281
	END
282

    
283
	-------------------ENDBAODNQ---------------------------
284
	INSERT INTO dbo.PL_PROCESS
285
					(
286
					    REQ_ID,
287
					    PROCESS_ID,
288
					    CHECKER_ID,
289
					    APPROVE_DT,
290
					    PROCESS_DESC,
291
					    NOTES
292
					)
293
					VALUES
294
					(   @p_REQ_ID,        -- REQ_ID - varchar(15)
295
					    --@p_PROCESS_ID,        -- PROCESS_ID - varchar(10)
296
						'SEND',
297
					    @p_TLNAME,        -- CHECKER_ID - varchar(15)
298
					    GETDATE(), -- APPROVE_DT - datetime
299
					    N'Nhân viên tạo phiếu và gửi phê duyệt thành công' ,       -- PROCESS_DESC - nvarchar(1000)
300
					    @p_LOG_MESSAGE       -- NOTES - nvarchar(1000)
301
					 )
302
	
303
		IF @@Error <> 0 GOTO ABORT
304

    
305
		------BAODNQ 26/3/2022: Trả ra kết quả PROCESS_ID-------
306
		DECLARE @PROCESS_ID VARCHAR(50) = (
307
			SELECT PROCESS_ID FROM TR_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID
308
		)
309

    
310
COMMIT TRANSACTION
311
SELECT '0' as Result,'' REQ_CODE,''REQ_ID, @PROCESS_ID PROCESS_ID,'' ErrorDesc
312
RETURN '0'
313
ABORT:
314
BEGIN
315
		ROLLBACK TRANSACTION
316
		SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' PROCESS_ID,'' ErrorDesc
317
		RETURN '-1'
318
End