Project

General

Profile

REAL_ETSATE_L_C.txt

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

 
1

    
2
ALTER PROCEDURE [dbo].[REAL_ESTATE_L_C_App]
3
	@p_RET_L_C_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
	
8
AS
9
	DECLARE @sErrorCode VARCHAR(20)
10
	DECLARE	@aStatus VARCHAR(1)
11
	
12
--Put validation here
13
	
14
	--SET @sErrorCode = ''
15
	
16
	--SELECT @aStatus = [AUTH_STATUS] FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID
17
	--IF @aStatus = 'A' 
18
	--	SET @sErrorCode = 'CMDG-0001'
19
		
20
	--IF 	@sErrorCode <> ''
21
	--BEGIN
22
	--	SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode
23
	--	RETURN 0
24
	--END
25

    
26
	IF(EXISTS (SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND AUTH_STATUS = 'R'))
27
	BEGIN
28
		SELECT '-1' as Result, '' RET_L_C_ID,
29
			N'Phê duyệt thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đang bị trả về' ErrorDesc
30
		RETURN '-1'
31
	END
32

    
33
	IF(EXISTS (SELECT *FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND AUTH_STATUS = 'A'))
34
	BEGIN
35
		SELECT '-1' as Result, '' RET_L_C_ID,
36
			N'Phê duyệt thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được phê duyệt' ErrorDesc
37
		RETURN '-1'
38
	END
39
	
40
	IF(EXISTS(SELECT RET_L_C_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND AUTH_STATUS = 'E' AND IS_SEND_APPR = 'N'))
41
	BEGIN
42
		SELECT '-1' as Result, '' RET_L_C_ID,
43
			N'Phê duyệt thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đ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
44
		RETURN '-1'
45
	END
46
	IF(EXISTS(
47
		SELECT RET_L_C_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND IS_SEND_APPR = 'Y' AND AUTH_STATUS = 'U'
48
			AND(SIGN_USER IS NOT NULL AND SIGN_USER <> '') AND (SIGN_DT IS NULL OR SIGN_DT = '')
49
	))
50
	BEGIN
51
		SELECT '-1' AS Result,  
52
			N'Phê duyệt thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đ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 
53
		RETURN '-1'
54
	END
55

    
56
BEGIN TRANSACTION
57

    
58
	BEGIN
59
		UPDATE REAL_ESTATE_L_C 
60
		SET AUTH_STATUS = @p_AUTH_STATUS,
61
			CHECKER_ID = @p_CHECKER_ID,
62
			APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
63
		WHERE RET_L_C_ID = @p_RET_L_C_ID
64

    
65
		IF @@Error <> 0 GOTO ABORT	
66
	END
67
	
68
	--------BAODNQ 15/2/2022: Insert vào bảng lưu lịch sử xử lý------
69
	INSERT INTO dbo.PL_PROCESS
70
					(
71
					    REQ_ID,
72
					    PROCESS_ID,
73
					    CHECKER_ID,
74
					    APPROVE_DT,
75
					    PROCESS_DESC,
76
					    NOTES
77
					)
78
					VALUES
79
					(   @p_RET_L_C_ID,       
80
						'APPROVE',
81
					    @p_CHECKER_ID,        
82
					    GETDATE(), 
83
					    N'Trưởng đơn vị phê duyệt thành công' ,      
84
					    N'Trưởng đơn vị phê duyệt'       
85
					 )
86
	IF @@Error <> 0 GOTO ABORT
87

    
88

    
89
COMMIT TRANSACTION
90
	SELECT '0' as Result, @p_RET_L_C_ID RET_L_C_ID,'' ErrorDesc
91
	RETURN '0'
92
	
93
ABORT:
94
BEGIN
95
		ROLLBACK TRANSACTION
96
		SELECT '-1' as Result, '' RET_L_C_ID,'' ErrorDesc
97
		RETURN '-1'
98
END
99

    
100
GO
101

    
102

    
103

    
104
ALTER PROCEDURE [dbo].[REAL_ESTATE_L_C_Confirm]
105
	@p_RET_L_C_ID VARCHAR(15) = NULL,
106
	@p_SIGN_USER VARCHAR(15) = NULL,
107
	@p_SIGN_DT VARCHAR(20) = NULL
108
AS
109
BEGIN TRANSACTION
110
	
111
	IF(EXISTS (SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND AUTH_STATUS = 'R'))
112
	BEGIN
113
		ROLLBACK TRANSACTION
114
		SELECT '-1' AS Result, '' RET_L_C_ID, 
115
			N'Xác nhận thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đang bị trả về' ErrorDesc
116
		RETURN '-1'
117
	END
118

    
119
	IF(EXISTS (SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND IS_SEND_APPR = 'Y' AND (SIGN_DT IS NOT NULL OR SIGN_DT <> '')))
120
	BEGIN
121
		ROLLBACK TRANSACTION
122
		SELECT '-1' AS Result, '' RET_L_C_ID, 
123
			N'Xác nhận thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được cấp trung gian xác nhận trước đó' ErrorDesc
124
		RETURN '-1'
125
	END
126
	IF(EXISTS(SELECT RET_L_C_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND AUTH_STATUS = 'E' AND  IS_SEND_APPR = 'N'))
127
	BEGIN
128
		ROLLBACK TRANSACTION
129
		SELECT '-1' AS Result, '' RET_L_C_ID, 
130
			N'Xác nhận thất bại. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đ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
131
		RETURN '-1'
132
	END
133

    
134
	-------Trường hợp người duyệt là cấp phê duyệt trung gian, update SIGN_DT---------
135
	UPDATE REAL_ESTATE_L_C SET AUTH_STATUS = 'U', SIGN_DT = CONVERT(DATETIME, @p_SIGN_DT, 103)
136
	WHERE RET_L_C_ID = @p_RET_L_C_ID
137
	IF @@ERROR <> 0 GOTO ABORT
138

    
139
	
140
	------Insert vào bảng lịch sử xử lý-------------
141
	INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
142
		VALUES(@p_RET_L_C_ID, 'APPROVE', @p_SIGN_USER, GETDATE(), 
143
				N'Cấp trung gian xác nhận thành công', 
144
				N' Cấp trung gian xác nhận')
145
	IF @@ERROR <> 0 GOTO ABORT
146

    
147
COMMIT TRANSACTION
148
SELECT '0' AS Result, @p_RET_L_C_ID RET_L_C_ID ,
149
			N'Thông tin BĐS: ' +@p_RET_L_C_ID+
150
			N' đã được xác nhận thành công. Vui lòng đợi trưởng đơn vị phê duyệt.' ErrorDesc
151
RETURN '0'
152

    
153
ABORT:
154
BEGIN
155
	ROLLBACK TRANSACTION
156
	SELECT '-1' AS Result, '' RET_L_C_ID, '' ErrorDesc
157
	RETURN '-1'
158
END
159

    
160
GO
161

    
162

    
163
ALTER PROCEDURE [dbo].[REAL_ESTATE_L_C_Search]
164
	@p_RET_L_C_ID varchar(15)=NULL,
165
	@p_RET_NAME nvarchar(MAX)=NULL,
166
	@p_RET_ADDR nvarchar(MAX)=NULL,
167
	@p_RET_DESC nvarchar(MAX)=NULL,
168
	@p_REASON nvarchar(500)=NULL,
169
	@p_PROC_EXE nvarchar(500)=NULL,
170
	@p_BRANCH_CREATE varchar(15)=NULL,
171
	@p_BRANCH_ID varchar(15)=NULL,
172
	@p_BRANCH_LOGIN varchar(15)=NULL,
173
	@p_PROC_NEXT nvarchar(500)=NULL,
174
	@p_END_DT VARCHAR(20)=NULL,
175
	@p_NOTES NVARCHAR(1000)=NULL,
176
	@p_RECORD_STATUS varchar(1)=NULL,
177
	@p_AUTH_STATUS varchar(1)=NULL,
178
	@p_MAKER_ID varchar(15)=NULL,
179
	@p_CREATE_DT VARCHAR(20)=NULL,
180
	@p_CHECKER_ID varchar(15)=NULL,
181
	@p_APPROVE_DT VARCHAR(20)=NULL,
182
	@p_MaxResultCount INT=NULL,
183
	@p_LEVEL	VARCHAR(50) = 'UNIT',
184
	@p_TOP INT = 300,
185
	-------BAODNQ 15/2/2022: Truyền thêm tham số------
186
	@p_USER_LOGIN VARCHAR(15)
187
AS
188
BEGIN -- PAGING
189

    
190

    
191
declare @tmp table(BRANCH_ID varchar(15))
192
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
193

    
194
--DECLARE @p_USER_LOGIN_ROLE VARCHAR(15) = (SELECT RoleName FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
195
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
196

    
197
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
198
	SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
199

    
200
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
201
	-- PAGING BEGIN
202
	SELECT 
203
	--A.*,
204
	A.RET_L_C_ID, A.RET_ADDR, A.RET_DESC, A.REASON, A.PROC_EXE, A.PROC_NEXT, A.END_DT,
205
	A.NOTES, A.BRANCH_ID, A.BRANCH_CREATE, A.RECORD_STATUS, A.AUTH_STATUS, A.MAKER_ID,
206
	A.CREATE_DT, A.CHECKER_ID, A.APPROVE_DT, A.BRANCH_USE, A.BRANCH_MANAGE,
207
	A.BUY_DT, A.AREA, A.CONTRUCT_AREA, A.IS_SEND_APPR, A.SEND_APPR_DT, A.SIGN_USER, A.SIGN_DT,
208
	A.RET_ID, A.ASSET_PRICE, A.LAND_USE_RIGHTS_PRICE, A.MARKET_PRICE, A.FINISH_DT_REAL,
209
	RM.ASS_NAME AS RET_NAME,
210
	A.BRANCH_USE BRANCH_USE_NAME,
211
	BRMN.BRANCH_NAME BRANCH_MANAGE_NAME,
212
	BRN.BRANCH_NAME,
213
	BRNC.BRANCH_NAME AS BRANCH_CREATE_NAME,
214
	D.AUTH_STATUS_NAME,
215
	TUM.TLFullName AS MAKER_NAME
216
	-- SELECT END
217
	FROM REAL_ESTATE_L_C AS A
218
	LEFT JOIN CM_BRANCH BRN ON BRN.BRANCH_ID = A.BRANCH_ID
219
	LEFT JOIN CM_BRANCH BRNC ON BRNC.BRANCH_ID = A.BRANCH_CREATE
220
	LEFT JOIN CM_BRANCH BRMN ON BRMN.BRANCH_ID = A.BRANCH_MANAGE
221
	LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
222
	LEFT JOIN RET_MASTER RM ON A.RET_ID = RM.RET_ID
223
	LEFT JOIN TL_USER TUM ON A.MAKER_ID = TUM.TLNANME
224
	WHERE (@p_RET_L_C_ID IS NULL OR @p_RET_L_C_ID='' OR A.RET_L_C_ID LIKE N'%' + @p_RET_L_C_ID + '%')
225
		AND	(@p_RET_NAME IS NULL OR @p_RET_NAME='' OR A.RET_NAME LIKE N'%' + @p_RET_NAME + '%')
226
		AND	(@p_RET_ADDR IS NULL OR @p_RET_ADDR='' OR A.RET_ADDR LIKE N'%' + @p_RET_ADDR + '%')
227
		AND	(@p_RET_DESC IS NULL OR @p_RET_DESC='' OR A.RET_DESC LIKE N'%' + @p_RET_DESC + '%')
228
		AND	(@p_REASON IS NULL OR @p_REASON='' OR A.REASON LIKE N'%' + @p_REASON + '%')
229
		AND	(@p_PROC_EXE IS NULL OR @p_PROC_EXE='' OR A.PROC_EXE LIKE N'%' + @p_PROC_EXE + '%')
230
		AND	(@p_PROC_NEXT IS NULL OR @p_PROC_NEXT='' OR A.PROC_NEXT LIKE N'%' + @p_PROC_NEXT + '%')
231
		AND	(@p_END_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.END_DT,CONVERT(datetime, @p_END_DT,103)) = 0)
232
		AND	(@p_NOTES IS NULL OR @p_NOTES='' OR A.NOTES LIKE N'%' + @p_NOTES + '%')
233
		AND	(@p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE='' OR A.BRANCH_CREATE = @p_BRANCH_CREATE)
234
		AND	(@p_BRANCH_ID IS NULL OR @p_BRANCH_ID='' OR A.BRANCH_ID = @p_BRANCH_ID)
235
		AND	(@p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS='' OR A.RECORD_STATUS = @p_RECORD_STATUS)
236
		AND	(@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS='' OR A.AUTH_STATUS = @p_AUTH_STATUS)
237
		AND	(@p_MAKER_ID IS NULL OR @p_MAKER_ID='' OR A.MAKER_ID = @p_MAKER_ID)
238
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
239
		AND	(@p_CHECKER_ID IS NULL OR @p_CHECKER_ID='' OR A.CHECKER_ID = @p_CHECKER_ID)
240
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.APPROVE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
241
		AND ((@P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
242
			OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_LOGIN) 
243
			OR (@p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL)))
244
		-------BAODNQ 15/2/2022: Thêm điều kiện search-------
245
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- ng login là ng tạo
246
		--	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
247
		--	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
248
		--		AND A.IS_SEND_APPR = 'Y'
249
		--		AND	(
250
		--				ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
251
		--			)
252
			
253
		--		)
254
		--	)
255
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
256
		--	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
257
		--	OR	(	
258
		--			--user login là trưởng ĐV và đã gửi YC phê duyệt
259
		--			(
260
		--				------user login là trưởng ĐV ở hội sở--------
261
		--				(
262
		--					EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
263
		--					AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
264
		--						= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
265
		--				)
266
		--				------user login là trưởng ĐV ở CN/PGD
267
		--				OR
268
		--				(
269
		--					NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
270
		--					AND A.BRANCH_CREATE = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
271
		--				)
272
		--			)
273
		--			AND A.IS_SEND_APPR = 'Y'
274
		--			AND	(
275
		--					ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
276
		--				)
277
		--		)
278
		--)
279

    
280
		AND(
281
				A.BRANCH_CREATE = @p_BRANCH_LOGIN
282
				AND(
283
					(SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE)
284
					OR(SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_LOGIN) <> 'HS'
285
				)
286
		)
287

    
288
	ORDER BY A.CREATE_DT DESC
289
	-- PAGING END
290
ELSE
291
-- PAGING BEGIN
292
	SELECT TOP(CONVERT(INT, @p_TOP))
293
	--A.*,
294
	A.RET_L_C_ID, A.RET_ADDR, A.RET_DESC, A.REASON, A.PROC_EXE, A.PROC_NEXT, A.END_DT,
295
	A.NOTES, A.BRANCH_ID, A.BRANCH_CREATE, A.RECORD_STATUS, A.AUTH_STATUS, A.MAKER_ID,
296
	A.CREATE_DT, A.CHECKER_ID, A.APPROVE_DT, A.BRANCH_USE, A.BRANCH_MANAGE,
297
	A.BUY_DT, A.AREA, A.CONTRUCT_AREA, A.IS_SEND_APPR, A.SEND_APPR_DT, A.SIGN_USER, A.SIGN_DT,
298
	A.RET_ID, A.ASSET_PRICE, A.LAND_USE_RIGHTS_PRICE, A.MARKET_PRICE, A.FINISH_DT_REAL,
299
	RM.ASS_NAME AS RET_NAME,
300
	A.BRANCH_USE BRANCH_USE_NAME,
301
	BRMN.BRANCH_NAME BRANCH_MANAGE_NAME,
302
	BRN.BRANCH_NAME,
303
	BRNC.BRANCH_NAME AS BRANCH_CREATE_NAME,
304
	D.AUTH_STATUS_NAME,
305
	TUM.TLFullName AS MAKER_NAME
306
	-- SELECT END
307
	FROM REAL_ESTATE_L_C AS A
308
	LEFT JOIN CM_BRANCH BRN ON BRN.BRANCH_ID = A.BRANCH_ID
309
	LEFT JOIN CM_BRANCH BRNC ON BRNC.BRANCH_ID = A.BRANCH_CREATE
310
	LEFT JOIN CM_BRANCH BRMN ON BRMN.BRANCH_ID = A.BRANCH_MANAGE
311
	LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
312
	LEFT JOIN RET_MASTER RM ON A.RET_ID = RM.RET_ID
313
	LEFT JOIN TL_USER TUM ON A.MAKER_ID = TUM.TLNANME
314
	WHERE (@p_RET_L_C_ID IS NULL OR @p_RET_L_C_ID='' OR A.RET_L_C_ID LIKE N'%' + @p_RET_L_C_ID + '%')
315
		AND	(@p_RET_NAME IS NULL OR @p_RET_NAME='' OR A.RET_NAME LIKE N'%' + @p_RET_NAME + '%')
316
		AND	(@p_RET_ADDR IS NULL OR @p_RET_ADDR='' OR A.RET_ADDR LIKE N'%' + @p_RET_ADDR + '%')
317
		AND	(@p_RET_DESC IS NULL OR @p_RET_DESC='' OR A.RET_DESC LIKE N'%' + @p_RET_DESC + '%')
318
		AND	(@p_REASON IS NULL OR @p_REASON='' OR A.REASON LIKE N'%' + @p_REASON + '%')
319
		AND	(@p_PROC_EXE IS NULL OR @p_PROC_EXE='' OR A.PROC_EXE LIKE N'%' + @p_PROC_EXE + '%')
320
		AND	(@p_PROC_NEXT IS NULL OR @p_PROC_NEXT='' OR A.PROC_NEXT LIKE N'%' + @p_PROC_NEXT + '%')
321
		AND	(@p_END_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.END_DT,CONVERT(datetime, @p_END_DT,103)) = 0)
322
		AND	(@p_NOTES IS NULL OR @p_NOTES='' OR A.NOTES LIKE N'%' + @p_NOTES + '%')
323
		AND	(@p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE='' OR A.BRANCH_CREATE = @p_BRANCH_CREATE)
324
		AND	(@p_BRANCH_ID IS NULL OR @p_BRANCH_ID='' OR A.BRANCH_ID = @p_BRANCH_ID)
325
		AND	(@p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS='' OR A.RECORD_STATUS = @p_RECORD_STATUS)
326
		AND	(@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS='' OR A.AUTH_STATUS = @p_AUTH_STATUS)
327
		AND	(@p_MAKER_ID IS NULL OR @p_MAKER_ID='' OR A.MAKER_ID = @p_MAKER_ID)
328
		AND	(@p_CREATE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.CREATE_DT,CONVERT(datetime, @p_CREATE_DT,103)) = 0)
329
		AND	(@p_CHECKER_ID IS NULL OR @p_CHECKER_ID='' OR A.CHECKER_ID = @p_CHECKER_ID)
330
		AND	(@p_APPROVE_DT IS NULL OR DATEDIFF(DAYOFYEAR, A.APPROVE_DT,CONVERT(datetime, @p_APPROVE_DT,103)) = 0)
331
		AND ((@P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
332
			OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_LOGIN) 
333
			OR (@p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL)))
334
		-------BAODNQ 15/2/2022: Thêm điều kiện search-------
335
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- ng login là ng tạo
336
		--	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
337
		--	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
338
		--		AND A.IS_SEND_APPR = 'Y'
339
		--		AND	(
340
		--				ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
341
		--			)
342
			
343
		--		)
344
		--	)
345
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
346
		--	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
347
		--	OR	(	
348
		--			--user login là trưởng ĐV và đã gửi YC phê duyệt
349
		--			(
350
		--				------user login là trưởng ĐV ở hội sở--------
351
		--				(
352
		--					EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
353
		--					AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
354
		--						= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
355
		--				)
356
		--				------user login là trưởng ĐV ở CN/PGD
357
		--				OR
358
		--				(
359
		--					NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
360
		--					AND A.BRANCH_CREATE = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
361
		--				)
362
		--			)
363
		--			AND A.IS_SEND_APPR = 'Y'
364
		--			AND	(
365
		--					ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
366
		--				)
367
		--		)
368
		--)
369

    
370
		AND(
371
				A.BRANCH_CREATE = @p_BRANCH_LOGIN
372
				AND(
373
					(SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE)
374
					OR(SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_LOGIN) <> 'HS'
375
				)
376
		)
377

    
378
	ORDER BY A.CREATE_DT DESC
379
	-- PAGING END
380
END -- PAGING
381

    
382
GO
383

    
384

    
385
ALTER PROCEDURE [dbo].[REAL_ESTATE_L_C_SendAppr]
386
	@p_RET_L_C_ID VARCHAR(15) = NULL,
387
	@p_USER_LOGIN VARCHAR(15),
388
	@p_SEND_APPR_DT VARCHAR(20) = NULL
389
AS
390
BEGIN TRANSACTION
391
	
392
	IF(EXISTS (SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND IS_SEND_APPR = 'Y'))
393
	BEGIN
394
		ROLLBACK TRANSACTION
395
		SELECT '-1' AS Result, '' RET_L_C_ID , 
396
			N'Gửi yêu cầu phê duyệt thất bại. Thông tin BĐS đang hoàn thiện thủ tục đã được gửi yêu cầu phê duyệt trước đó' ErrorDesc
397
		RETURN '-1'
398
	END
399

    
400
	UPDATE REAL_ESTATE_L_C SET 
401
		IS_SEND_APPR = 'Y', 
402
		SEND_APPR_DT = CONVERT(DATETIME, @p_SEND_APPR_DT, 103),
403
		SIGN_DT = NULL,
404
		AUTH_STATUS = 'U'
405
	WHERE RET_L_C_ID = @p_RET_L_C_ID
406
	IF @@ERROR <> 0 GOTO ABORT
407

    
408
	DECLARE @p_IS_SEND_APPR VARCHAR(15) = 
409
		(SELECT IS_SEND_APPR FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID)
410
	DECLARE @p_MESSAGE NVARCHAR(500)
411
	DECLARE @p_RET_NAME NVARCHAR(1000) = (
412
		SELECT RL.RET_NAME
413
		FROM REAL_ESTATE_L_C RL
414
		WHERE RET_L_C_ID = @p_RET_L_C_ID
415
	)
416

    
417
	-----------------TH gửi phê duyệt có cấp duyệt trung gian-----------
418
	IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND SIGN_USER IS NOT NULL))
419
	BEGIN
420
		SET @p_MESSAGE = N'Thông tin BĐS: ' +@p_RET_NAME+
421
			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.'
422
	END
423
	ELSE
424
	-----------------TH gửi phê duyệt ko có cấp duyệt trung gian (gửi thẳng lên trưởng DV)------
425
	BEGIN
426
		SET @p_MESSAGE = N'Thông tin BĐS: ' +@p_RET_NAME+
427
			N' đã được gửi phê duyệt thành công. Vui lòng đợi trưởng đơn vị phê duyệt.'
428
	END
429
	------Insert vào bảng lịch sử xử lý-------------
430
	INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
431
		VALUES(@p_RET_L_C_ID, 'SEND', @p_USER_LOGIN, GETDATE(), 
432
				N'Người tạo gửi phê duyệt thành công', N' Người tạo gửi phê duyệt')
433
	IF @@ERROR <> 0 GOTO ABORT
434

    
435
COMMIT TRANSACTION
436
SELECT '0' AS Result, @p_RET_L_C_ID RET_L_C_ID ,@p_IS_SEND_APPR IS_SEND_APPR, @p_MESSAGE ErrorDesc
437
RETURN '0'
438

    
439
ABORT:
440
BEGIN
441
	ROLLBACK TRANSACTION
442
	SELECT '-1' AS Result, '' RET_L_C_ID ,'' IS_SEND_APPR, '' ErrorDesc
443
	RETURN '-1'
444
END
445

    
446
GO
447

    
448

    
449
ALTER PROCEDURE [dbo].[REAL_ESTATE_L_C_Upd] 
450
			@p_RET_L_C_ID varchar(15) = null,
451
			@p_RET_NAME nvarchar(MAX) = null,
452
			@p_RET_ADDR nvarchar(MAX) = null,
453
			@p_RET_DESC nvarchar(MAX) = null,
454
			@p_REASON nvarchar(500) = null,
455
			@p_PROC_EXE nvarchar(500) = null,
456
			@p_PROC_NEXT nvarchar(500) = null,
457
			@p_BRANCH_ID varchar(15) = NULL,
458
			@p_BRANCH_USE Nvarchar(500) = NULL,
459
			@p_BRANCH_MANAGE varchar(15) = NULL,
460
			@p_BRANCH_CREATE nvarchar(15) = NULL,
461
			@p_AREA nvarchar(500) = NULL,
462
			@p_END_DT VARCHAR(20) = null,
463
			@p_BUY_DT varchar(20) = NULL,
464
			@p_NOTES nvarchar(1000) = null,
465
			@p_RECORD_STATUS varchar(1) = null,
466
			@p_AUTH_STATUS varchar(1) = null,
467
			@p_MAKER_ID varchar(15) = null,
468
			@p_CREATE_DT VARCHAR(20) = null,
469
			@p_CHECKER_ID varchar(15) = null,
470
			@p_APPROVE_DT VARCHAR(20) = null,
471
			@p_CONTRUCT_AREA nvarchar(500) = NULL,
472
			--------BAODNQ 15/2/2022: Thêm cột vào bảng REAL_ESTATE_L_C------
473
			@p_IS_SEND_APPR VARCHAR(15) = NULL,
474
			@p_SEND_APPR_DT VARCHAR(20) = NULL,
475
			@p_SIGN_USER VARCHAR(15) = NULL,
476
			@p_SIGN_DT VARCHAR(20) = NULL,
477
			@p_RET_ID VARCHAR(15) = NULL,
478
			@p_ASSET_PRICE DECIMAL(18,2) = NULL,
479
			@p_LAND_USE_RIGHTS_PRICE DECIMAL(18,2) = NULL,
480
			@p_MARKET_PRICE DECIMAL(18,2) = NULL,
481
			@p_FINISH_DT_REAL VARCHAR(20) = NULL
482
AS
483
DECLARE @l_ERROR_MESSAGE VARCHAR(1000)
484
BEGIN TRANSACTION
485
	
486
	IF(@p_RET_L_C_ID IS NULL)
487
	BEGIN
488
		SET @l_ERROR_MESSAGE = 'ID IS NULL'
489
		GOTO ABORT
490
	END
491

    
492
	IF(EXISTS(SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND IS_SEND_APPR = 'Y' AND AUTH_STATUS = 'U'))
493
	BEGIN
494
		ROLLBACK TRANSACTION
495
		SELECT '-1' AS Result, ''  RET_ID, 
496
			N'Không thể chỉnh sửa. Thông tin BĐS đang hoàn thiện thủ tục pháp lý đã được gửi yêu cầu phê duyệt' ErrorDesc 
497
		RETURN '-1'
498
	END
499

    
500
	IF(EXISTS (SELECT * FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @p_RET_L_C_ID AND AUTH_STATUS = 'A'))
501
	BEGIN
502
		--------------------CẬP NHẬT LẠI SAU KHI ĐÃ DUYỆT----------------
503
		SET @p_CHECKER_ID = NULL
504
		SET @p_APPROVE_DT = NULL
505
		SET @p_SEND_APPR_DT = NULL
506
		SET @p_SIGN_DT = NULL
507
	END
508

    
509
	-- UPDATE
510
	UPDATE REAL_ESTATE_L_C
511
	SET 
512
			RET_NAME=@p_RET_NAME,
513
			RET_ADDR=@p_RET_ADDR,
514
			RET_DESC=@p_RET_DESC,
515
			REASON=@p_REASON,
516
			PROC_EXE=@p_PROC_EXE,
517
			PROC_NEXT=@p_PROC_NEXT,
518
			END_DT=CONVERT(DATETIME, @p_END_DT, 103),
519
			BRANCH_CREATE = @p_BRANCH_CREATE,
520
			BRANCH_ID = @p_BRANCH_ID,
521
			NOTES=@p_NOTES,
522
			RECORD_STATUS=@p_RECORD_STATUS,
523
			AUTH_STATUS=@p_AUTH_STATUS,
524
			MAKER_ID=@p_MAKER_ID,
525
			BUY_DT = CONVERT(DATETIME, @p_BUY_DT, 103),
526
			CREATE_DT=CONVERT(DATETIME, @p_CREATE_DT, 103),
527
			CHECKER_ID=@p_CHECKER_ID,
528
			APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),
529
			BRANCH_USE = @p_BRANCH_USE,
530
			BRANCH_MANAGE = @p_BRANCH_MANAGE,
531
			AREA = @p_AREA,
532
			CONTRUCT_AREA = @p_CONTRUCT_AREA,
533
			--------BAODNQ 15/2/2022: Thêm cột vào bảng REAL_ESTATE_L_C------
534
			IS_SEND_APPR = @p_IS_SEND_APPR,
535
			SEND_APPR_DT = CONVERT(DATETIME, @p_SEND_APPR_DT, 103),
536
			SIGN_USER = @p_SIGN_USER,
537
			SIGN_DT = CONVERT(DATETIME, @p_SIGN_DT, 103),
538
			RET_ID = @p_RET_ID,
539
			ASSET_PRICE = @p_ASSET_PRICE,
540
			LAND_USE_RIGHTS_PRICE = @p_LAND_USE_RIGHTS_PRICE,
541
			MARKET_PRICE = @p_MARKET_PRICE,
542
			FINISH_DT_REAL = CONVERT(DATETIME, @p_FINISH_DT_REAL, 103)
543

    
544
	WHERE RET_L_C_ID = @p_RET_L_C_ID
545

    
546
	IF @@Error <> 0 GOTO ABORT
547

    
548
	---------------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----------------
549
		IF((SELECT TOP 1 PROCESS_ID FROM PL_PROCESS WHERE REQ_ID = @p_RET_L_C_ID ORDER BY APPROVE_DT DESC) = 'UPDATE')
550
		BEGIN
551
			WITH RESULT AS(
552
				SELECT TOP 1 * FROM PL_PROCESS WHERE REQ_ID = @p_RET_L_C_ID
553
				ORDER BY APPROVE_DT DESC
554
			)
555
			DELETE FROM RESULT
556
		END
557

    
558
	--------BAODNQ 15/2/2022: Insert vào bảng lưu lịch sử xử lý------
559
	INSERT INTO dbo.PL_PROCESS
560
					(
561
					    REQ_ID,
562
					    PROCESS_ID,
563
					    CHECKER_ID,
564
					    APPROVE_DT,
565
					    PROCESS_DESC,
566
					    NOTES
567
					)
568
					VALUES
569
					(   @p_RET_L_C_ID,       
570
						'UPDATE',
571
					    @p_MAKER_ID,        
572
					    GETDATE(), 
573
					    N'Cập nhật thông tin BĐS đang hoàn thiện thủ tục pháp lý thành công' ,      
574
					    N'Cập nhật thông tin BĐS đang hoàn thiện thủ tục pháp lý'       
575
					 )
576
	IF @@ERROR <> 0 GOTO ABORT
577

    
578
COMMIT TRANSACTION
579
	SELECT '0' as Result, @p_RET_L_C_ID RET_L_C_ID, '' ErrorDesc
580
	RETURN '0'
581

    
582
ABORT:
583
BEGIN
584
	SELECT '-1' as Result, '' RET_L_C_ID, @l_ERROR_MESSAGE ErrorDesc
585
	RETURN '-1'
586
END
587