Project

General

Profile

REAL_ESTATE_R_H.txt

Luc Tran Van, 11/28/2022 05:24 PM

 
1

    
2
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_App]
3
	@p_RET_R_H_ID VARCHAR(15) = NULL,
4
	@p_AUTH_STATUS VARCHAR(1) = NULL,
5
	@p_CHECKER_ID varchar(15)  = NULL,
6
	@p_APPROVE_DT VARCHAR(20)
7
	
8
AS
9
	DECLARE @sErrorCode VARCHAR(20)
10
	DECLARE	@aStatus VARCHAR(1)
11
	
12
--Put validation here
13
	
14
	IF(EXISTS (SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND AUTH_STATUS = 'R'))
15
	BEGIN
16
		SELECT '-1' AS Result,  
17
			N'Phê duyệt thất bại. Thông tin BĐS đi thuê đang được trả về' ErrorDesc 
18
		RETURN '-1'
19
	END
20

    
21
	IF(EXISTS (SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND AUTH_STATUS = 'A'))
22
	BEGIN
23
		SELECT '-1' AS Result,  
24
			N'Phê duyệt thất bại. Thông tin BĐS đi thuê đã được phê duyệt trước đó' ErrorDesc 
25
		RETURN '-1'
26
	END
27

    
28
	IF(EXISTS(SELECT RET_R_H_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND AUTH_STATUS = 'E' AND IS_SEND_APPR = 'N'))
29
	BEGIN
30
		SELECT '-1' AS Result,  
31
			N'Phê duyệt thất bại. Thông tin BĐS đi thuê đang ở trạng thái lưu nháp. Vui lòng đợi người tạo gửi yêu cầu phê duyệt' ErrorDesc 
32
		RETURN '-1'
33
	END
34
	
35
	IF(EXISTS(
36
		SELECT RET_R_H_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND IS_SEND_APPR = 'Y' AND AUTH_STATUS = 'U'
37
			AND(SIGN_USER IS NOT NULL AND SIGN_USER <> '') AND (SIGN_DT IS NULL OR SIGN_DT = '')
38
	))
39
	BEGIN
40
		SELECT '-1' AS Result,  
41
			N'Phê duyệt thất bại. Thông tin BĐS đi thuê đang chờ cấp phê duyệt trung gian xác nhận. Vui lòng đợi cấp phê duyệt trung gian xác nhận' ErrorDesc 
42
		RETURN '-1'
43
	END
44

    
45
	--SET @sErrorCode = ''
46
	
47
	--SELECT @aStatus = [AUTH_STATUS] FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID
48
	--IF @aStatus = 'A' 
49
	--	SET @sErrorCode = 'CMDG-0001'
50
		
51
	--IF 	@sErrorCode <> ''
52
	--BEGIN
53
	--	SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode
54
	--	RETURN '-1'
55
	--END
56

    
57

    
58
BEGIN TRANSACTION
59

    
60
	--BEGIN
61
	--	UPDATE REAL_ESTATE_R_H 
62
	--	SET AUTH_STATUS = @p_AUTH_STATUS,
63
	--		CHECKER_ID = @p_CHECKER_ID,
64
	--		APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
65
	--	WHERE RET_R_H_ID = @p_RET_R_H_ID
66

    
67
	--	IF @@Error <> 0 GOTO ABORT	
68
	--END
69
	UPDATE REAL_ESTATE_R_H 
70
		SET AUTH_STATUS = @p_AUTH_STATUS,
71
			CHECKER_ID = @p_CHECKER_ID,
72
			APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
73
	WHERE RET_R_H_ID = @p_RET_R_H_ID
74
	IF @@Error <> 0 GOTO ABORT
75
	----------------BAODNQ 12/9/2022 : Nếu có nhập ngày gia hạn thì ngày kết thúc sẽ bằng ngày gia hạn------
76
	DECLARE @p_EXTEND_DT DATETIME = (SELECT EXTEND_DT FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID)
77
	IF(@p_EXTEND_DT IS NOT NULL)
78
	BEGIN
79
		UPDATE REAL_ESTATE_R_H
80
			SET END_DT = @p_EXTEND_DT
81
		WHERE RET_R_H_ID = @p_RET_R_H_ID
82
	END
83

    
84

    
85
	--------BAODNQ 14/02/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
86
			INSERT INTO dbo.PL_PROCESS
87
					(
88
					    REQ_ID,
89
					    PROCESS_ID,
90
					    CHECKER_ID,
91
					    APPROVE_DT,
92
					    PROCESS_DESC,
93
					    NOTES
94
					)
95
					VALUES
96
					(   @p_RET_R_H_ID,       
97
						'APPROVE',
98
					    @p_CHECKER_ID,        
99
					    GETDATE(), 
100
					    N'Trưởng đơn vị phê duyệt thành công' ,      
101
					    N'Trưởng đơn vị phê duyệt'       
102
					 )
103
			IF @@Error <> 0 GOTO ABORT
104
		
105
COMMIT TRANSACTION
106
	SELECT '0' as Result, '' ErrorDesc
107
	RETURN '0'
108
	
109
ABORT:
110
BEGIN
111
		ROLLBACK TRANSACTION
112
		SELECT '-1' as Result, '' ErrorDesc
113
		RETURN '-1'
114
END
115

    
116
GO
117

    
118

    
119
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_ById] 
120
			@p_RET_R_H_ID varchar(15)=NULL
121
AS
122
BEGIN
123
	SELECT 
124
		A.*,
125
		BRUS.BRANCH_NAME AS BRANCH_USE_NAME,
126
		AUTH.AUTH_STATUS_NAME,
127
		CASE
128
			WHEN B.CONTRACT_CODE IS NULL OR B.CONTRACT_CODE = ''
129
				THEN B.CONTRACT_ID
130
			ELSE B.CONTRACT_CODE
131
		END AS CONTRACT_CODE,
132
		B.CONTRACT_NAME AS CONTRACT_NAME,
133

    
134
		CASE
135
			WHEN DATEDIFF(DAY, A.END_DT, B.END_DT) <> 0 THEN B.APPROVE_DT
136
			ELSE A.EXTEND_DT
137
		END
138
		AS NGAY_GIA_HAN_HD,
139
		C.TLFullName AS SIGN_USER_FULLNAME
140

    
141
	FROM REAL_ESTATE_R_H AS A
142
	LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
143
	LEFT JOIN CM_BRANCH BRUS ON A.BRANCH_USE = BRUS.BRANCH_ID
144
	--------BAODNQ 7/2/2022: Kết thêm bảng TR_CONTRACT, TL_USER
145
	LEFT JOIN TR_CONTRACT B ON A.TR_CONTRACT_ID = B.CONTRACT_ID
146
	LEFT JOIN TL_USER C ON A.SIGN_USER = C.TLNANME 
147
	WHERE A.RET_R_H_ID = @p_RET_R_H_ID
148

    
149
	SELECT * FROM RET_PRICE WHERE RET_R_H_ID = @p_RET_R_H_ID 
150
	--ORDER BY PRICE_DT DESC
151
END
152

    
153
GO
154

    
155

    
156
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_Confirm]
157
	@p_RET_R_H_ID	VARCHAR(15)  = NULL,
158
	@p_SIGN_USER VARCHAR(12) = NULL,
159
	@p_SIGN_DT VARCHAR(20) = NULL
160
	
161
AS
162

    
163
BEGIN TRANSACTION
164

    
165
	IF(EXISTS (SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND IS_SEND_APPR = 'Y' AND (SIGN_DT IS NOT NULL OR SIGN_DT <> '')))
166
	BEGIN
167
		ROLLBACK TRANSACTION
168
		SELECT '-1' AS Result, '' RET_R_H_ID,  
169
			N'Xác nhận thất bại. Thông tin BĐS đi thuê đã được cấp trung gian xác nhận trước đó' ErrorDesc
170
		RETURN '-1'
171
	END
172
	
173
	IF(EXISTS (SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND AUTH_STATUS = 'R' ))
174
	BEGIN
175
		ROLLBACK TRANSACTION
176
		SELECT '-1' AS Result, '' RET_R_H_ID,  
177
			N'Xác nhận thất bại. Thông tin BĐS đi thuê đang bị trả về' ErrorDesc
178
		RETURN '-1'
179
	END
180

    
181
	IF(EXISTS(SELECT RET_R_H_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND AUTH_STATUS = 'E' AND IS_SEND_APPR = 'N'))
182
	BEGIN
183
		ROLLBACK TRANSACTION
184
		SELECT '-1' AS Result, '' RET_R_H_ID,  
185
			N'Xác nhận thất bại. Thông tin BĐS đi thuê đang ở trạng thái lưu nháp. Vui lòng đợi người tạo gửi yêu cầu phê duyệt' ErrorDesc
186
		RETURN '-1'
187
	END
188

    
189
	-------Trường hợp người duyệt là cấp phê duyệt trung gian, update SIGN_DT---------
190
	UPDATE REAL_ESTATE_R_H SET AUTH_STATUS = 'U', SIGN_DT = CONVERT(DATETIME, @p_SIGN_DT, 103)
191
	WHERE RET_R_H_ID = @p_RET_R_H_ID
192
	IF @@ERROR <> 0 GOTO ABORT
193

    
194
	------Insert vào bảng lịch sử xử lý-------------
195
	INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
196
		VALUES(@p_RET_R_H_ID, 'APPROVE', @p_SIGN_USER, GETDATE(), 
197
				N'Cấp trung gian xác nhận thành công', 
198
				N'Cấp trung gian xác nhận')
199
	IF @@ERROR <> 0 GOTO ABORT
200
	
201
COMMIT TRANSACTION
202
SELECT '0' AS Result, '' RET_R_H_ID,
203
		N'Thông tin BĐS đi thuê: ' +@p_RET_R_H_ID+
204
			N' đã được xác nhận thành công. Vui lòng đợi trưởng đơn vị phê duyệt.' ErrorDesc
205
RETURN '0'
206

    
207
ABORT:
208
BEGIN
209
	ROLLBACK TRANSACTION
210
	SELECT '-1' AS Result, '' RET_R_H_ID,  '' ErrorDesc
211
	RETURN '-1'
212
END
213

    
214
GO
215

    
216

    
217
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_Search]
218
	@p_RET_R_H_ID varchar(15)=NULL,
219
	@p_BRANCH_MANAGE varchar(15)=NULL,
220
	@p_BRANCH_USE varchar(15)=NULL,
221
	@p_BRANCH_LOGIN varchar(15)=NULL,
222
	@p_BRANCH_CREATE varchar(15)=NULL,
223
	@p_RET_ADDR nvarchar(MAX)=NULL,
224
	@p_RET_R_H_TIME decimal=NULL,
225
	@p_START_DT VARCHAR(20)=NULL,
226
	@p_R_LAND_SQUARE decimal=NULL,
227
	@p_SCALE NVARCHAR(500)=NULL,
228
	@p_CONSTRUCT_SQUARE decimal=NULL,
229
	@p_DEPOSIT varchar(1)=NULL,
230
	@p_DEPOSIT_PRICE decimal=NULL,
231
	@p_DEPOSIT_RETURN_DT VARCHAR(500)=NULL,
232
	@p_PURCHASE_EACH_TERM NVARCHAR(500)=NULL,
233
	@p_NOTES nvarchar(1000)=NULL,
234
	@p_RECORD_STATUS varchar(1)=NULL,
235
	@p_AUTH_STATUS varchar(1)=NULL,
236
	@p_MAKER_ID varchar(15)=NULL,
237
	@p_CREATE_DT VARCHAR(20)=NULL,
238
	@p_CHECKER_ID varchar(15)=NULL,
239
	@p_APPROVE_DT VARCHAR(20)=NULL,
240
	@p_LEVEL	VARCHAR(50) = 'UNIT',
241
	@p_TOP INT = 300,
242
	-------BAODNQ 14/2/2022: Truyền thêm tham số------
243
	@p_USER_LOGIN VARCHAR(15)
244
AS
245
BEGIN -- PAGING
246

    
247
declare @tmp table(BRANCH_ID varchar(15))
248
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
249
	DECLARE @TODATE DATETIME = GETDATE()
250

    
251
--DECLARE @p_USER_LOGIN_ROLE VARCHAR(15) = (SELECT RoleName FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
252
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
253

    
254
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
255
	SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
256

    
257
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
258
	-- PAGING BEGIN
259
	SELECT A.*,
260
	BRMN.BRANCH_NAME BRANCH_MANAGE_NAME,
261
	BR_USE.BRANCH_NAME BRANCH_USE_NAME,
262
	BRNC.BRANCH_NAME BRANCH_CREATE_NAME,
263
	PR.PRICE RET_PRICE,
264
	AUTH.AUTH_STATUS_NAME,
265
	TUM.TLFullName AS MAKER_NAME
266
	-- SELECT END
267
	FROM REAL_ESTATE_R_H AS A
268
	LEFT JOIN dbo.CM_BRANCH BRNC ON BRNC.BRANCH_ID = A.BRANCH_CREATE
269
	LEFT JOIN CM_BRANCH BRMN ON BRMN.BRANCH_ID = A.BRANCH_MANAGE
270
	--------BAODNQ: 7/2/2022: Kết thêm giá trị-----------
271
	LEFT JOIN CM_BRANCH BR_USE ON BR_USE.BRANCH_ID = A.BRANCH_USE
272
	LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
273
	LEFT JOIN TL_USER TUM ON A.MAKER_ID = TUM.TLNANME
274
	LEFT JOIN 
275
	(
276
		SELECT * FROM 
277
		(
278
			SELECT *, ROW_NUMBER() OVER (PARTITION BY RET_R_H_ID ORDER BY A.PRICE_END_DT DESC) AS rn
279
		   FROM RET_PRICE A
280
		   WHERE PRICE_END_DT IS NOT NULL
281
		   AND PRICE_DT <= @TODATE
282
		) PRICE
283
		WHERE RN = 1
284
	)
285
	PR ON PR.RET_R_H_ID = A.RET_R_H_ID
286
	WHERE 	(@p_RET_R_H_ID IS NULL OR @p_RET_R_H_ID='' OR A.RET_R_H_ID = @p_RET_R_H_ID)
287
		AND	(@p_BRANCH_MANAGE IS NULL OR @p_BRANCH_MANAGE='' OR A.BRANCH_MANAGE LIKE '%' + @p_BRANCH_MANAGE + '%')
288
		AND	(@p_BRANCH_USE IS NULL OR @p_BRANCH_USE='' OR A.BRANCH_USE LIKE '%' + @p_BRANCH_USE + '%')
289
		AND	(@p_RET_ADDR IS NULL OR @p_RET_ADDR='' OR A.RET_ADDR LIKE N'%' + @p_RET_ADDR + '%')
290
		AND	(@p_RET_R_H_TIME IS NULL OR A.RET_R_H_TIME = @p_RET_R_H_TIME)
291
		AND	(@p_START_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.START_DT,CONVERT(datetime, @p_START_DT,103)) = 0)
292
		AND	(@p_R_LAND_SQUARE IS NULL OR A.R_LAND_SQUARE = @p_R_LAND_SQUARE)
293
		AND	(@p_SCALE IS NULL OR A.SCALE = @p_SCALE)
294
		AND	(@p_CONSTRUCT_SQUARE IS NULL OR A.CONSTRUCT_SQUARE = @p_CONSTRUCT_SQUARE)
295
		AND	(@p_DEPOSIT IS NULL OR @p_DEPOSIT='' OR A.DEPOSIT = @p_DEPOSIT)
296
		AND	(@p_DEPOSIT_PRICE IS NULL OR A.DEPOSIT_PRICE = @p_DEPOSIT_PRICE)
297
		AND	(@p_DEPOSIT_RETURN_DT IS NULL OR A.DEPOSIT_RETURN_DT LIKE '%' + @p_DEPOSIT_RETURN_DT + '%')
298
		AND	(@p_PURCHASE_EACH_TERM IS NULL OR @p_PURCHASE_EACH_TERM = '' OR A.PURCHASE_EACH_TERM = @p_PURCHASE_EACH_TERM)
299
		AND	(@p_NOTES IS NULL OR @p_NOTES='' OR A.NOTES LIKE N'%' + @p_NOTES + '%')
300
		AND	(@p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS='' OR A.RECORD_STATUS = @p_RECORD_STATUS)
301
		AND	(@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS='' OR A.AUTH_STATUS = @p_AUTH_STATUS)
302
		AND	(@p_MAKER_ID IS NULL OR @p_MAKER_ID='' OR A.MAKER_ID = @p_MAKER_ID)
303
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
304
		AND	(@p_CHECKER_ID IS NULL OR @p_CHECKER_ID='' OR A.CHECKER_ID = @p_CHECKER_ID)
305
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.APPROVE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
306
		AND (
307
			(@p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL)
308
			OR (@P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
309
			OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_LOGIN) 
310
			))
311
		-------BAODNQ 14/2/2022: Thêm điều kiện search-------
312
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- ng login là ng tạo
313
		--	OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
314
		--	OR	((@p_USER_LOGIN_ROLE IN('GDDV','PGD', 'TP', 'PP','TPGD','PPGD', 'TBP')) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
315
		--		AND A.IS_SEND_APPR = 'Y'
316
		--		AND	(
317
		--				ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
318
		--			)
319
			
320
		--		)
321
		--	)
322
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
323
		--	OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- user login là cấp duyệt trung gian và đã gửi YC phê duyệt
324
		--	OR	(	
325
		--			--user login là trưởng ĐV và đã gửi YC phê duyệt
326
		--			(
327
		--				------user login là trưởng ĐV ở hội sở--------
328
		--				(
329
		--					EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
330
		--					AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
331
		--						= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
332
		--				)
333
		--				------user login là trưởng ĐV ở CN/PGD
334
		--				OR
335
		--				(
336
		--					NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
337
		--					AND A.BRANCH_CREATE = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
338
		--				)
339
		--			)
340
		--			AND A.IS_SEND_APPR = 'Y'
341
		--			AND	(
342
		--					ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
343
		--				)
344
		--		)
345
		--)
346

    
347
		-----------BAODNQ: NẾU Ở HỘI SỞ TÌM THẤY NHỮNG PHIẾU THEO PHÒNG BAN------------------
348
		----------------NẾU Ở DVKD TÌM THẤY PHIẾU THEO ĐƠN VỊ--------------------
349
		AND(
350
			A.BRANCH_CREATE = @p_BRANCH_LOGIN
351
			AND(
352
				(SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE)
353
					OR (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_LOGIN) <> 'HS'
354
			)
355
		)
356

    
357
	ORDER BY A.CREATE_DT DESC
358
	-- PAGING END
359
ELSE
360
	-- PAGING BEGIN
361
	SELECT TOP(CONVERT(INT, @p_TOP)) A.*,
362
	BRMN.BRANCH_NAME BRANCH_MANAGE_NAME,
363
	BR_USE.BRANCH_NAME BRANCH_USE_NAME,
364
	BRNC.BRANCH_NAME BRANCH_CREATE_NAME,
365
	PR.PRICE RET_PRICE,
366
	AUTH.AUTH_STATUS_NAME,
367
	TUM.TLFullName AS MAKER_NAME
368
	-- SELECT END
369
	FROM REAL_ESTATE_R_H AS A
370
	LEFT JOIN dbo.CM_BRANCH BRNC ON BRNC.BRANCH_ID = A.BRANCH_CREATE
371
	LEFT JOIN CM_BRANCH BRMN ON BRMN.BRANCH_ID = A.BRANCH_MANAGE
372
	--------BAODNQ: 7/2/2022: Kết thêm giá trị-----------
373
	LEFT JOIN CM_BRANCH BR_USE ON BR_USE.BRANCH_ID = A.BRANCH_USE
374
	LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
375
	LEFT JOIN TL_USER TUM ON A.MAKER_ID = TUM.TLNANME
376
	LEFT JOIN 
377
	(
378
		SELECT * FROM 
379
		(
380
			SELECT *, ROW_NUMBER() OVER (PARTITION BY RET_R_H_ID ORDER BY A.PRICE_END_DT DESC) AS rn
381
		   FROM RET_PRICE A
382
		   WHERE PRICE_END_DT IS NOT NULL
383
		   AND PRICE_DT <= @TODATE
384
		) PRICE
385
		WHERE RN = 1
386
	)
387
	PR ON PR.RET_R_H_ID = A.RET_R_H_ID
388
	WHERE 	(@p_RET_R_H_ID IS NULL OR @p_RET_R_H_ID='' OR A.RET_R_H_ID = @p_RET_R_H_ID)
389
		AND	(@p_BRANCH_MANAGE IS NULL OR @p_BRANCH_MANAGE='' OR A.BRANCH_MANAGE LIKE '%' + @p_BRANCH_MANAGE + '%')
390
		AND	(@p_BRANCH_USE IS NULL OR @p_BRANCH_USE='' OR A.BRANCH_USE LIKE '%' + @p_BRANCH_USE + '%')
391
		AND	(@p_RET_ADDR IS NULL OR @p_RET_ADDR='' OR A.RET_ADDR LIKE N'%' + @p_RET_ADDR + '%')
392
		AND	(@p_RET_R_H_TIME IS NULL OR A.RET_R_H_TIME = @p_RET_R_H_TIME)
393
		AND	(@p_START_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.START_DT,CONVERT(datetime, @p_START_DT,103)) = 0)
394
		AND	(@p_R_LAND_SQUARE IS NULL OR A.R_LAND_SQUARE = @p_R_LAND_SQUARE)
395
		AND	(@p_SCALE IS NULL OR A.SCALE = @p_SCALE)
396
		AND	(@p_CONSTRUCT_SQUARE IS NULL OR A.CONSTRUCT_SQUARE = @p_CONSTRUCT_SQUARE)
397
		AND	(@p_DEPOSIT IS NULL OR @p_DEPOSIT='' OR A.DEPOSIT = @p_DEPOSIT)
398
		AND	(@p_DEPOSIT_PRICE IS NULL OR A.DEPOSIT_PRICE = @p_DEPOSIT_PRICE)
399
		AND	(@p_DEPOSIT_RETURN_DT IS NULL OR A.DEPOSIT_RETURN_DT LIKE '%' + @p_DEPOSIT_RETURN_DT + '%')
400
		AND	(@p_PURCHASE_EACH_TERM IS NULL OR @p_PURCHASE_EACH_TERM = '' OR A.PURCHASE_EACH_TERM = @p_PURCHASE_EACH_TERM)
401
		AND	(@p_NOTES IS NULL OR @p_NOTES='' OR A.NOTES LIKE N'%' + @p_NOTES + '%')
402
		AND	(@p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS='' OR A.RECORD_STATUS = @p_RECORD_STATUS)
403
		AND	(@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS='' OR A.AUTH_STATUS = @p_AUTH_STATUS)
404
		AND	(@p_MAKER_ID IS NULL OR @p_MAKER_ID='' OR A.MAKER_ID = @p_MAKER_ID)
405
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
406
		AND	(@p_CHECKER_ID IS NULL OR @p_CHECKER_ID='' OR A.CHECKER_ID = @p_CHECKER_ID)
407
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.APPROVE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
408
		AND (
409
			(@p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL)
410
			OR (@P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
411
			OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_LOGIN) 
412
			))
413
		-------BAODNQ 14/2/2022: Thêm điều kiện search-------
414
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- ng login là ng tạo
415
		--	OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
416
		--	OR	((@p_USER_LOGIN_ROLE IN('GDDV','PGD', 'TP', 'PP','TPGD','PPGD', 'TBP')) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
417
		--		AND A.IS_SEND_APPR = 'Y'
418
		--		AND	(
419
		--				ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
420
		--			)
421
			
422
		--		)
423
		--	)
424
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
425
		--	OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- user login là cấp duyệt trung gian và đã gửi YC phê duyệt
426
		--	OR	(	
427
		--			--user login là trưởng ĐV và đã gửi YC phê duyệt
428
		--			(
429
		--				------user login là trưởng ĐV ở hội sở--------
430
		--				(
431
		--					EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
432
		--					AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
433
		--						= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
434
		--				)
435
		--				------user login là trưởng ĐV ở CN/PGD
436
		--				OR
437
		--				(
438
		--					NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
439
		--					AND A.BRANCH_CREATE = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
440
		--				)
441
		--			)
442
		--			AND A.IS_SEND_APPR = 'Y'
443
		--			AND	(
444
		--					ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
445
		--				)
446
		--		)
447
		--)
448

    
449
		-----------BAODNQ: NẾU Ở HỘI SỞ TÌM THẤY NHỮNG PHIẾU THEO PHÒNG BAN------------------
450
		----------------NẾU Ở DVKD TÌM THẤY PHIẾU THEO ĐƠN VỊ--------------------
451
		AND(
452
			A.BRANCH_CREATE = @p_BRANCH_LOGIN
453
			AND(
454
				(SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE)
455
					OR (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_LOGIN) <> 'HS'
456
			)
457
		)
458

    
459
	ORDER BY A.CREATE_DT DESC
460
	-- PAGING END
461
END -- PAGING
462

    
463
GO
464

    
465

    
466
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_SendAppr]
467
	@p_RET_R_H_ID	VARCHAR(15)  = NULL,
468
	@p_USER_LOGIN   VARCHAR(15) = NULL,
469
	@p_SEND_APPR_DT VARCHAR(20) = NULL
470
	
471
AS
472

    
473
BEGIN TRANSACTION
474

    
475
	IF(EXISTS (SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND IS_SEND_APPR = 'Y'))
476
	BEGIN
477
		ROLLBACK TRANSACTION
478
		SELECT '-1' AS Result, '' RET_R_H_ID, '' IS_SEND_APPR, 
479
			N'Gửi yêu cầu phê duyệt thất bại. Thông tin BĐS đi thuê  đã được gửi yêu cầu phê duyệt trước đó' ErrorDesc
480
		RETURN '-1'
481
	END
482

    
483
	-----Cập nhật trạng thái đã gửi YC phê duyệt----------
484
	UPDATE REAL_ESTATE_R_H SET 
485
		IS_SEND_APPR = 'Y',
486
		SEND_APPR_DT = CONVERT(DATETIME, @p_SEND_APPR_DT,103),
487
		SIGN_DT = NULL,
488
		AUTH_STATUS = 'U'
489
	WHERE RET_R_H_ID = @p_RET_R_H_ID
490
	IF @@ERROR <> 0 GOTO ABORT
491

    
492
	DECLARE @p_IS_SEND_APPR VARCHAR(15) = 
493
		(SELECT IS_SEND_APPR FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID)
494
	DECLARE @p_MESSAGE NVARCHAR(500)
495

    
496
	------TH gửi phê duyệt có cấp duyệt trung gian------
497
	IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND SIGN_USER IS NOT NULL))
498
	BEGIN
499
		SET @p_MESSAGE = N'Thông tin BĐS đi thuê: ' +@p_RET_R_H_ID+
500
			N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận.'
501
	END
502
	------TH gửi phê duyệt ko có cấp duyệt trung gian------
503
	ELSE
504
	BEGIN
505
		SET @p_MESSAGE = N'Thông tin BĐS đi thuê: ' +@p_RET_R_H_ID+
506
			N' đã được gửi phê duyệt thành công. Vui lòng đợi trưởng đơn vị phê duyệt.'
507
	END
508

    
509
	------Insert vào bảng lịch sử xử lý-------------
510
	INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
511
		VALUES(@p_RET_R_H_ID, 'SEND', @p_USER_LOGIN, GETDATE(), 
512
				N'Người tạo gửi phê duyệt thành công', N' Người tạo gửi phê duyệt')
513
	IF @@ERROR <> 0 GOTO ABORT
514
	
515
COMMIT TRANSACTION
516
SELECT '0' AS Result, '' RET_R_H_ID, @p_IS_SEND_APPR IS_SEND_APPR, @p_MESSAGE ErrorDesc
517
RETURN '0'
518

    
519
ABORT:
520
BEGIN
521
	ROLLBACK TRANSACTION
522
	SELECT '-1' AS Result, '' RET_R_H_ID, '' IS_SEND_APPR, '' ErrorDesc
523
	RETURN '-1'
524
END
525

    
526
GO
527

    
528

    
529
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_Upd] 
530
			@p_RET_R_H_ID varchar(15) = NULL,
531
			@p_BRANCH_MANAGE Nvarchar(500) = NULL,
532
			@p_BRANCH_USE Nvarchar(500) = NULL,
533
			@p_BRANCH_CREATE Nvarchar(15) = NULL,
534
			@p_RET_ADDR nvarchar(MAX) = NULL,
535
			@p_RET_R_H_TIME DECIMAL = NULL,
536
			@p_START_DT VARCHAR(20) = NULL,
537
			@p_END_DT VARCHAR(20) = NULL,
538
			@p_R_LAND_SQUARE DECIMAL(18,2) = NULL,
539
			@p_SCALE  nvarchar(500) = NULL,
540
			@p_CONSTRUCT_SQUARE DECIMAL(18,2) = NULL,
541
			@p_PRICE_DETAIL XML = NULL,
542
			@p_DEPOSIT varchar(1) = NULL,
543
			@p_DEPOSIT_PRICE DECIMAL = NULL,
544
			@p_DEPOSIT_RETURN_DT NVARCHAR(500) = NULL,
545
			@p_PURCHASE_EACH_TERM decimal = NULL,
546
			@p_PAY_AMT decimal = NULL,
547
			@p_NOTES nvarchar(1000) = NULL,
548
			@p_RECORD_STATUS varchar(1) = NULL,
549
			@p_AUTH_STATUS varchar(1) = NULL,
550
			@p_MAKER_ID varchar(15) = NULL,
551
			@p_CREATE_DT VARCHAR(20) = NULL,
552
			@p_CHECKER_ID varchar(15) = NULL,
553
			@p_APPROVE_DT VARCHAR(20) = NULL,
554
			@p_PAY_PAY_AMT decimal = NULL,
555
			@p_PAY_MONTH_TIMES INT = NULL,
556
			@p_MONTH_TIMES INT = NULL,
557
			----BAODNQ 7/2/2022: Thêm cột vào bảng REAL_ESTATE_R_H------
558
			@p_TR_CONTRACT_ID varchar(15) = NULL,
559
			@p_EXTEND_DT VARCHAR(20) = NULL,
560
			@p_STRUCTURE NVARCHAR(500) = NULL,
561
			@p_IS_SEND_APPR VARCHAR(15) = NULL,
562
			@p_SEND_APPR_DT VARCHAR(20) = NULL,
563
			@p_SIGN_USER VARCHAR(15) = NULL,
564
			@p_SIGN_DT VARCHAR(20) = NULL,
565
			@p_EXTEND_PHASE NVARCHAR(1000) = NULL
566
AS
567
DECLARE @l_ERROR_MESSAGE VARCHAR(1000)
568

    
569
IF(CONVERT(DATETIME, @p_END_DT, 103) < CONVERT(DATETIME, @p_START_DT, 103))
570
BEGIN
571
	SELECT '-1' as Result, '' RET_R_H_ID, 
572
		N'Ngày kết thúc không được nhỏ hơn ngày bắt đầu' ErrorDesc
573
	RETURN '-1'
574
END
575

    
576
IF(CONVERT(DATETIME, @p_EXTEND_DT, 103) < CONVERT(DATETIME, @p_START_DT, 103))
577
BEGIN
578
	SELECT '-1' as Result, '' RET_R_H_ID, 
579
		N'Ngày gia hạn hợp đồng không được nhỏ hơn ngày bắt đầu' ErrorDesc
580
	RETURN '-1'
581
END
582

    
583
IF(
584
	(@p_DEPOSIT_RETURN_DT IS NOT NULL OR @p_DEPOSIT_RETURN_DT <> '') 
585
	AND CONVERT(DATETIME, @p_DEPOSIT_RETURN_DT, 103) < CONVERT(DATETIME, @p_START_DT, 103)
586
	)
587
BEGIN
588
	SELECT '-1' as Result, '' RET_R_H_ID, 
589
		N'Thời điểm hoàn lại tiền cọc không được nhỏ hơn ngày bắt đầu' ErrorDesc
590
	RETURN '-1'
591
END
592

    
593
IF(EXISTS(SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND IS_SEND_APPR = 'Y' AND AUTH_STATUS = 'U'))
594
BEGIN
595
	SELECT '-1' AS Result, ''  RET_ID, 
596
		N'Không thể chỉnh sửa. Thông tin BĐS cho thuê làm trụ sở CN/PGD đã được gửi yêu cầu phê duyệt' ErrorDesc 
597
	RETURN '-1'
598
END
599

    
600
BEGIN TRANSACTION
601
	
602
	IF(@p_RET_R_H_ID IS NULL)
603
	BEGIN
604
		SET @l_ERROR_MESSAGE = 'ID IS NULL'
605
		GOTO ABORT
606
	END
607

    
608
	DECLARE @p_PRICE_DT_ROW_NO INT = 0
609

    
610
	Declare @hdoc INT
611
	Exec sp_xml_preparedocument @hdoc Output,@p_PRICE_DETAIL
612
	DECLARE PriceDetail CURSOR FOR
613
	SELECT *
614
	FROM OPENXML(@hDoc,'/Root/RetPriceDetail',2)
615
	WITH 
616
	(
617
		RET_PRICE_ID	varchar(15),
618
		RET_R_H_ID	varchar(15),
619
		PRICE	decimal(18,2),
620
		PRICE_DT	VARCHAR(20),
621
		PRICE_END_DT	VARCHAR(20),
622
		PAY_PHASE NVARCHAR(1000),
623
		TOTAL_AMT_PAY_PHASE DECIMAL(18,2),
624
		NOTES NVARCHAR(MAX)
625
	)
626
	OPEN PriceDetail
627

    
628
	IF(EXISTS (SELECT * FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @p_RET_R_H_ID AND AUTH_STATUS = 'A'))
629
	BEGIN
630
		SET @p_CHECKER_ID = NULL
631
		SET @p_APPROVE_DT = NULL
632
		SET @p_SEND_APPR_DT = NULL
633
		SET @p_SIGN_DT = NULL
634
	END
635

    
636
	-- UPDATE
637
	----BAODNQ 7/2/2022: Thêm cột vào bảng REAL_ESTATE_R_H------
638
	UPDATE REAL_ESTATE_R_H
639
	SET 
640
			BRANCH_MANAGE=@p_BRANCH_MANAGE,
641
			BRANCH_USE=@p_BRANCH_USE,
642
			BRANCH_CREATE=@p_BRANCH_CREATE,
643
			RET_ADDR=@p_RET_ADDR,
644
			RET_R_H_TIME=@p_RET_R_H_TIME,
645
			START_DT=CONVERT(DATETIME, @p_START_DT, 103),
646
			END_DT=CONVERT(DATETIME, @p_END_DT, 103),
647
			R_LAND_SQUARE=@p_R_LAND_SQUARE,
648
			SCALE=@p_SCALE,
649
			CONSTRUCT_SQUARE=@p_CONSTRUCT_SQUARE,
650
			DEPOSIT=@p_DEPOSIT,
651
			DEPOSIT_PRICE=@p_DEPOSIT_PRICE,
652
			DEPOSIT_RETURN_DT=CONVERT(DATETIME, @p_DEPOSIT_RETURN_DT, 103),
653
			PURCHASE_EACH_TERM=@p_PURCHASE_EACH_TERM,
654
			NOTES=@p_NOTES,
655
			RECORD_STATUS=@p_RECORD_STATUS,
656
			AUTH_STATUS=@p_AUTH_STATUS,
657
			MAKER_ID=@p_MAKER_ID,
658
			CREATE_DT=CONVERT(DATETIME, @p_CREATE_DT, 103),
659
			CHECKER_ID=@p_CHECKER_ID,
660
			APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),
661
			MONTH_TIMES = @p_MONTH_TIMES,
662
			PAY_AMT = @p_PAY_AMT,
663
			PAY_MONTH_TIMES= @p_PAY_MONTH_TIMES,
664
			PAY_PAY_AMT = @p_PAY_PAY_AMT,
665
			TR_CONTRACT_ID = @p_TR_CONTRACT_ID,
666
			EXTEND_DT = CONVERT(DATETIME, @p_EXTEND_DT, 103),
667
			STRUCTURE = @p_STRUCTURE,
668
			IS_SEND_APPR = @p_IS_SEND_APPR,
669
			SEND_APPR_DT = CONVERT(DATETIME, @p_SEND_APPR_DT, 103),
670
			SIGN_USER = @p_SIGN_USER,
671
			SIGN_DT = CONVERT(DATETIME, @p_SIGN_DT, 103),
672
			EXTEND_PHASE = @p_EXTEND_PHASE
673

    
674
	WHERE RET_R_H_ID = @p_RET_R_H_ID
675
	IF @@Error <> 0 GOTO ABORT
676

    
677
	DECLARE 
678
		@RET_PRICE_ID	varchar(15), 
679
		@RET_R_H_ID	varchar(15), 
680
		@PRICE	decimal(18,2), 
681
		@PRICE_DT	VARCHAR(20),
682
		@PRICE_END_DT	VARCHAR(20),
683
		@PAY_PHASE NVARCHAR(1000),
684
		@TOTAL_AMT_PAY_PHASE DECIMAL(18,2),
685
		@NOTES NVARCHAR(MAX)
686

    
687
	FETCH NEXT FROM PriceDetail INTO 
688
		@RET_PRICE_ID, 
689
		@RET_R_H_ID, 
690
		@PRICE, 
691
		@PRICE_DT,
692
		@PRICE_END_DT,
693
		@PAY_PHASE,
694
		@TOTAL_AMT_PAY_PHASE,
695
		@NOTES
696
	
697
	DELETE FROM RET_PRICE WHERE RET_R_H_ID = @p_RET_R_H_ID
698

    
699
	WHILE @@FETCH_STATUS = 0	
700
		BEGIN
701

    
702
			SET @p_PRICE_DT_ROW_NO = @p_PRICE_DT_ROW_NO + 1
703

    
704
			IF(CONVERT(DATETIME, @PRICE_END_DT, 103) <= CONVERT(DATETIME, @PRICE_DT, 103))
705
			BEGIN
706
				ROLLBACK TRANSACTION
707
				CLOSE PriceDetail
708
				DEALLOCATE PriceDetail
709
				SELECT '-1' as Result, '' RET_R_H_ID, 
710
					N'Lưới giá thuê: dòng' +CONVERT(VARCHAR, @p_PRICE_DT_ROW_NO)+
711
					N': Đến ngày không được nhỏ hơn từ ngày'ErrorDesc
712
				RETURN '-1'
713
			END
714

    
715
			IF @RET_PRICE_ID ='' OR @RET_PRICE_ID IS NULL -- INSERT PRICE DETAIL
716
			BEGIN
717
				EXEC SYS_CodeMasters_Gen 'RET_PRICE', @RET_PRICE_ID out
718
				IF @RET_PRICE_ID ='' OR @RET_PRICE_ID IS NULL GOTO ABORT
719
			END
720
			INSERT INTO RET_PRICE
721
				(RET_PRICE_ID, RET_R_H_ID, PRICE, PRICE_DT, PRICE_END_DT,
722
				PAY_PHASE, TOTAL_AMT_PAY_PHASE, NOTES)
723
			VALUES
724
				(@RET_PRICE_ID, @p_RET_R_H_ID, @PRICE, CONVERT(DATETIME, @PRICE_DT, 103), 
725
				CONVERT(DATETIME, @PRICE_END_DT, 103), @PAY_PHASE, @TOTAL_AMT_PAY_PHASE, @NOTES)
726

    
727
			IF @@ERROR <> 0 GOTO ABORT
728
			FETCH NEXT FROM PriceDetail INTO 
729
				@RET_PRICE_ID, 
730
				@p_RET_R_H_ID, 
731
				@PRICE, 
732
				@PRICE_DT, 
733
				@PRICE_END_DT,
734
				@PAY_PHASE,
735
				@TOTAL_AMT_PAY_PHASE,
736
				@NOTES
737
		END
738
		CLOSE PriceDetail
739
	DEALLOCATE PriceDetail
740

    
741
	---------------BAODNQ : TH NGƯỜI TẠO CẬP NHẬT NHIỀU LẦN THÌ CHỈ LƯU LỊCH SỬ XỬ LÝ CẬP NHẬT GẦN NHẤT----------------
742
		IF((SELECT TOP 1 PROCESS_ID FROM PL_PROCESS WHERE REQ_ID = @p_RET_R_H_ID ORDER BY APPROVE_DT DESC) = 'UPDATE')
743
		BEGIN
744
			WITH RESULT AS(
745
				SELECT TOP 1 * FROM PL_PROCESS WHERE REQ_ID = @p_RET_R_H_ID
746
				ORDER BY APPROVE_DT DESC
747
			)
748
			DELETE FROM RESULT
749
		END
750

    
751
	--------BAODNQ 14/02/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
752
			INSERT INTO dbo.PL_PROCESS
753
					(
754
					    REQ_ID,
755
					    PROCESS_ID,
756
					    CHECKER_ID,
757
					    APPROVE_DT,
758
					    PROCESS_DESC,
759
					    NOTES
760
					)
761
					VALUES
762
					(   @p_RET_R_H_ID,       
763
						'UPDATE',
764
					    @p_MAKER_ID,        
765
					    GETDATE(), 
766
					    N'Cập nhật thông tin BĐS đi thuê thành công' ,      
767
					    N'Cập nhật thông tin BĐS đi thuê'       
768
					 )
769

    
770
COMMIT TRANSACTION
771
	SELECT '0' as Result, @p_RET_R_H_ID RET_R_H_ID, '' ErrorDesc
772
	RETURN '0'
773

    
774
ABORT:
775
BEGIN
776
	SELECT '-1' as Result, '' RET_R_H_ID, @l_ERROR_MESSAGE ErrorDesc
777
	RETURN '-1'
778
END
779

    
780
GO