1
|
|
2
|
|
3
|
ALTER PROCEDURE [dbo].[RET_MASTER_Ins]
|
4
|
@p_ASSET_ID VARCHAR(15) = NULL,
|
5
|
@P_ASSET_CODE VARCHAR(15) = NULL,
|
6
|
@P_OWNER VARCHAR(500) = NULL,
|
7
|
@p_LENGTH DECIMAL(18,2) = NULL,
|
8
|
@p_ADDR nvarchar(1000) = NULL, -- hungdv hieu chinh yeu cau anh toi 250520
|
9
|
@p_WIDTH DECIMAL(18,2) = NULL,
|
10
|
@p_FLOORS int = NULL,
|
11
|
@p_CURRENT_STATE nvarchar(100) = NULL,
|
12
|
@p_RET_TYPE varchar(15) = NULL,
|
13
|
@p_STATUS varchar(15) = NULL,
|
14
|
@p_LAND_SQUARE DECIMAL(18,2) = NULL,
|
15
|
@p_CONSTRUCT_SQUARE DECIMAL(18,2) = NULL,
|
16
|
@p_TOTAL_SQUARE DECIMAL(18,2) = NULL,
|
17
|
@p_BOUNDARY nvarchar(100) = NULL,
|
18
|
@p_HOUSEDES nvarchar(100) = NULL,
|
19
|
@p_PURPOSE_IN_USE nvarchar(500) = NULL,
|
20
|
@P_W_USE_CON NVARCHAR(100) = NULL,
|
21
|
@p_USE_STATUS varchar(15) = NULL,
|
22
|
@p_CONST_STATUS varchar(15) = NULL,
|
23
|
@p_OWNER_TYPE varchar(15) = NULL,
|
24
|
@p_USE_PERIOD int = NULL,
|
25
|
@p_PERSON_HOLDER nvarchar(1000) = NULL,
|
26
|
@p_REASON nvarchar(1000) = NULL,
|
27
|
@p_NOTES nvarchar(1000) = NULL,
|
28
|
@p_RECORD_STATUS varchar(1) = NULL,
|
29
|
@p_AUTH_STATUS varchar(1) = NULL,
|
30
|
@p_MAKER_ID varchar(15) = NULL,
|
31
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
32
|
@p_CHECKER_ID varchar(15) = NULL,
|
33
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
34
|
@P_BUY_DT VARCHAR(20) = NULL,
|
35
|
@p_USE_FORM VARCHAR(1),
|
36
|
@p_USE_FORM_DETAIL nvarchar(MAX),
|
37
|
@p_USE_SOURCE nvarchar(MAX),
|
38
|
@p_USE_PERIOD_DT VARCHAR(20),
|
39
|
@p_OWNER_TYPE_DETAIL NVARCHAR(MAX),
|
40
|
@p_RET_SAVE_CODE VARCHAR(100),
|
41
|
@p_XML_TEMP XML = NULL,
|
42
|
@p_BRANCH_USE nvarchar(500),
|
43
|
@p_RET_TAX_SCHEDULE XML = NULL,
|
44
|
@p_RET_REPAIR_SUGGEST XML = NULL,
|
45
|
@p_RET_REPAIR_REAL XML = NULL,
|
46
|
@p_FLUCTUATING_DT varchar(20) = null,
|
47
|
@p_REASON_FLUCTUATING nvarchar(max) = null,
|
48
|
----------------BAODNQ 16/2/2022: Thêm cột vào bảng RET_MASTER---------
|
49
|
@p_IS_SEND_APPR VARCHAR(15) = NULL,
|
50
|
@p_SEND_APPR_DT VARCHAR(20) = NULL,
|
51
|
@p_SIGN_USER VARCHAR(15) = NULL,
|
52
|
@p_SIGN_DT VARCHAR(20) = NULL
|
53
|
|
54
|
AS
|
55
|
--Validation is here
|
56
|
|
57
|
----INSERT SYS_PREFIX---
|
58
|
--INSERT INTO SYS_PREFIX VALUES('RET_TAX_SCHEDULE', 'RETX', N'Bảng thông tin quản lý định kỳ thuế nhà đất')
|
59
|
--INSERT INTO SYS_PREFIX VALUES('RET_REPAIR_SUGGEST', 'RETRS', N'Bảng thông tin sửa chữa dự kiến')
|
60
|
--INSERT INTO SYS_PREFIX VALUES('RET_REPAIR_REAL', 'RETRR', N'Bảng thông tin sửa chữa thực tế')
|
61
|
----------------------------
|
62
|
|
63
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
64
|
IF ( EXISTS ( SELECT * FROM RET_MASTER WHERE ASSET_ID = @P_ASSET_ID ))
|
65
|
SET @ERRORSYS = 'RETM-00002'
|
66
|
IF @ERRORSYS <> ''
|
67
|
BEGIN
|
68
|
SELECT ErrorCode Result, '' RET_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
69
|
RETURN '0'
|
70
|
END
|
71
|
|
72
|
Declare @hdoc INT
|
73
|
Exec sp_xml_preparedocument @hdoc Output,@p_RET_TAX_SCHEDULE
|
74
|
DECLARE RetTaxSchedule CURSOR FOR
|
75
|
SELECT *
|
76
|
FROM OPENXML(@hDoc,'/Root/RetTaxSchedule',2)
|
77
|
WITH
|
78
|
(
|
79
|
----HOTFIX---
|
80
|
--REQ_PAY_ID VARCHAR(15),
|
81
|
REQ_PAY_ID VARCHAR(100),
|
82
|
-------------------------
|
83
|
FRM_DATE varchar(30),
|
84
|
TO_DATE varchar(30),
|
85
|
TOTAL_AMT decimal
|
86
|
)
|
87
|
OPEN RetTaxSchedule
|
88
|
|
89
|
Exec sp_xml_preparedocument @hdoc Output,@p_RET_REPAIR_SUGGEST
|
90
|
DECLARE RetRepairSuggest CURSOR FOR
|
91
|
SELECT *
|
92
|
FROM OPENXML(@hDoc,'/Root/RetRepairSuggest',2)
|
93
|
WITH
|
94
|
(
|
95
|
-------HOTFIX-------
|
96
|
--REQ_ID varchar(15),
|
97
|
REQ_ID varchar(100),
|
98
|
----------------------
|
99
|
REPAIR_SUG_DT varchar(30) ,
|
100
|
BRANCH_ID varchar(15) ,
|
101
|
BRANCH_SUGGEST nvarchar(4000),
|
102
|
TOTAL_AMT decimal,
|
103
|
USER_SUGGEST varchar(15),
|
104
|
REPAIR_REASON nvarchar(4000),
|
105
|
REPAIR_CONTENT nvarchar(4000)
|
106
|
)
|
107
|
OPEN RetRepairSuggest
|
108
|
|
109
|
Exec sp_xml_preparedocument @hdoc Output,@p_RET_REPAIR_REAL
|
110
|
DECLARE RetRepairReal CURSOR FOR
|
111
|
SELECT *
|
112
|
FROM OPENXML(@hDoc,'/Root/RetRepairReal',2)
|
113
|
WITH
|
114
|
(
|
115
|
-----HOTFIX------------
|
116
|
--REQ_PAY_ID varchar(15),
|
117
|
REQ_PAY_ID varchar(100),
|
118
|
------------------------
|
119
|
REPAIR_DT varchar(30) ,
|
120
|
BRANCH_REPAIR nvarchar(4000),
|
121
|
TOTAL_AMT decimal,
|
122
|
REPAIR_CONTENT_REAL nvarchar(4000),
|
123
|
NOTES nvarchar(4000)
|
124
|
)
|
125
|
OPEN RetRepairReal
|
126
|
BEGIN TRANSACTION
|
127
|
DECLARE @l_RET_ID VARCHAR(15)
|
128
|
EXEC SYS_CodeMasters_Gen 'RET_MASTER', @l_RET_ID out
|
129
|
IF @l_RET_ID='' OR @l_RET_ID IS NULL GOTO ABORT
|
130
|
|
131
|
|
132
|
INSERT INTO RET_MASTER
|
133
|
(
|
134
|
[BUY_DT],
|
135
|
[RET_ID],
|
136
|
[ASSET_ID],
|
137
|
[ASSET_CODE],
|
138
|
[OWNER],
|
139
|
[LENGTH],
|
140
|
[WIDTH],
|
141
|
[FLOORS],
|
142
|
[CURRENT_STATE],
|
143
|
[RET_TYPE],
|
144
|
[STATUS],
|
145
|
[LAND_SQUARE],
|
146
|
[CONSTRUCT_SQUARE],
|
147
|
[TOTAL_SQUARE],
|
148
|
[BOUNDARY],
|
149
|
[HOUSEDES],
|
150
|
[PURPOSE_IN_USE],
|
151
|
[W_USE_CON],
|
152
|
[USE_STATUS],
|
153
|
[CONST_STATUS],
|
154
|
[OWNER_TYPE],
|
155
|
[USE_PERIOD],
|
156
|
[PERSON_HOLDER],
|
157
|
[REASON],
|
158
|
[NOTES],
|
159
|
[RECORD_STATUS],
|
160
|
[AUTH_STATUS],
|
161
|
[MAKER_ID],
|
162
|
[CREATE_DT],
|
163
|
[CHECKER_ID],
|
164
|
[APPROVE_DT],
|
165
|
[USE_FORM],
|
166
|
[USE_FORM_DETAIL],
|
167
|
[USE_SOURCE],
|
168
|
[USE_PERIOD_DT],
|
169
|
[OWNER_TYPE_DETAIL],
|
170
|
[RET_SAVE_CODE],
|
171
|
BRANCH_USE,
|
172
|
[FLUCTUATING_DT],
|
173
|
[REASON_FLUCTUATING],
|
174
|
ADDR, -- hungdv hieu chinh yeu cau anh toi 250520
|
175
|
----------------BAODNQ 16/2/2022: Thêm cột vào bảng RET_MASTER---------
|
176
|
[IS_SEND_APPR],
|
177
|
[SEND_APPR_DT],
|
178
|
[SIGN_USER],
|
179
|
[SIGN_DT]
|
180
|
)
|
181
|
VALUES
|
182
|
(CONVERT(DATETIME, @P_BUY_DT, 103), @l_RET_ID, @p_ASSET_ID, @P_ASSET_CODE, @P_OWNER, @p_LENGTH, @p_WIDTH, @p_FLOORS,
|
183
|
@p_CURRENT_STATE, @p_RET_TYPE, @p_STATUS, @p_LAND_SQUARE, @p_CONSTRUCT_SQUARE, @p_TOTAL_SQUARE, @p_BOUNDARY,
|
184
|
@p_HOUSEDES, @p_PURPOSE_IN_USE, @P_W_USE_CON, @p_USE_STATUS, @p_CONST_STATUS, @p_OWNER_TYPE, @p_USE_PERIOD,
|
185
|
@p_PERSON_HOLDER, @p_REASON, @p_NOTES, @p_RECORD_STATUS, @p_AUTH_STATUS, @p_MAKER_ID,
|
186
|
CONVERT(DATETIME, @p_CREATE_DT, 103), @p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), @p_USE_FORM,
|
187
|
@p_USE_FORM_DETAIL, @p_USE_SOURCE, CONVERT(DATETIME, @p_USE_PERIOD_DT, 103), @p_OWNER_TYPE_DETAIL,
|
188
|
@p_RET_SAVE_CODE, @p_BRANCH_USE,CONVERT(DATETIME, @p_FLUCTUATING_DT, 103),@p_REASON_FLUCTUATING ,@p_ADDR,
|
189
|
@p_IS_SEND_APPR, CONVERT(DATETIME, @p_SEND_APPR_DT, 103), @p_SIGN_USER, CONVERT(DATETIME, @p_SIGN_DT, 103))
|
190
|
IF @@Error <> 0 GOTO ABORT
|
191
|
--KHAI BAO TOAN BO BIEN TRUOC KHI FETCH DATA
|
192
|
DECLARE
|
193
|
--@d_REQ_PAY_ID VARCHAR(15),
|
194
|
---HOTFIX---
|
195
|
@d_REQ_PAY_ID VARCHAR(100),
|
196
|
------------
|
197
|
@d_FRM_DATE varchar(30),
|
198
|
@d_TO_DATE varchar(30),
|
199
|
@d_TOTAL_AMT decimal,
|
200
|
@RET_ID varchar(15),
|
201
|
---HOTFIX----
|
202
|
--@REQ_ID varchar(15),
|
203
|
@REQ_ID varchar(100),
|
204
|
---------------
|
205
|
@REPAIR_SUG_DT varchar(30),
|
206
|
@REPAIR_DT varchar(30),
|
207
|
@BRANCH_ID varchar(15),
|
208
|
@BRANCH_SUGGEST nvarchar(4000),
|
209
|
@BRANCH_REPAIR nvarchar(4000),
|
210
|
@REPAIR_CONTENT_REAL nvarchar(4000),
|
211
|
@NOTES nvarchar(4000),
|
212
|
@TOTAL_AMT decimal,
|
213
|
@USER_SUGGEST varchar(15),
|
214
|
@REPAIR_REASON nvarchar(4000),
|
215
|
@REPAIR_CONTENT nvarchar(4000)
|
216
|
--INSERT RetTaxSchedule
|
217
|
FETCH NEXT FROM RetTaxSchedule INTO @d_REQ_PAY_ID,@d_FRM_DATE,@d_TO_DATE,@d_TOTAL_AMT
|
218
|
WHILE @@FETCH_STATUS = 0
|
219
|
BEGIN
|
220
|
|
221
|
---------------PDN thanh toán chặn---------------
|
222
|
------TH KO CÓ PDN thanh toán------
|
223
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @d_REQ_PAY_ID))
|
224
|
BEGIN
|
225
|
ROLLBACK TRANSACTION
|
226
|
SELECT '-1' as Result, '' RET_ID, N'Phiếu đề nghị thanh toán không tồn tại trong hệ thống' ErrorDesc
|
227
|
RETURN '-1'
|
228
|
END
|
229
|
---------TH PDN thanh toán CHƯA ĐƯỢC DUYỆT---------
|
230
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @d_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
231
|
BEGIN
|
232
|
ROLLBACK TRANSACTION
|
233
|
SELECT '-1' as Result, '' RET_ID, N'Phiếu đề nghị thanh toán chưa được duyệt' ErrorDesc
|
234
|
RETURN '-1'
|
235
|
END
|
236
|
|
237
|
|
238
|
|
239
|
DECLARE @l_TAX_SCHEDULE_ID VARCHAR(15)
|
240
|
EXEC SYS_CodeMasters_Gen 'RET_TAX_SCHEDULE', @l_TAX_SCHEDULE_ID out
|
241
|
IF @l_TAX_SCHEDULE_ID='' OR @l_TAX_SCHEDULE_ID IS NULL GOTO ABORT
|
242
|
INSERT INTO RET_TAX_SCHEDULE([TAX_SCHEDULE_ID],[RET_ID],[REQ_PAY_ID],[FRM_DATE],[TO_DATE],[TOTAL_AMT],[AUTH_STATUS],[RECORD_STATUS],[MAKER_ID])
|
243
|
VALUES(@l_TAX_SCHEDULE_ID,@l_RET_ID ,@d_REQ_PAY_ID , CONVERT(DATETIME, @d_FRM_DATE, 103) ,CONVERT(DATETIME, @d_TO_DATE, 103) ,@d_TOTAL_AMT ,@p_AUTH_STATUS,@p_RECORD_STATUS ,@p_MAKER_ID )
|
244
|
|
245
|
IF @@ERROR <> '' GOTO ABORT
|
246
|
FETCH NEXT FROM RetTaxSchedule INTO @d_REQ_PAY_ID,@d_FRM_DATE,@d_TO_DATE,@d_TOTAL_AMT
|
247
|
END
|
248
|
|
249
|
|
250
|
--INSERT RepairSuggest
|
251
|
FETCH NEXT FROM RetRepairSuggest INTO @REQ_ID,@REPAIR_SUG_DT,@BRANCH_ID,@BRANCH_SUGGEST,@TOTAL_AMT,@USER_SUGGEST,@REPAIR_REASON,@REPAIR_CONTENT
|
252
|
WHILE @@FETCH_STATUS = 0
|
253
|
BEGIN
|
254
|
|
255
|
---------------TTCT chặn---------------
|
256
|
------TH KO CÓ TTCT------
|
257
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_CODE = @REQ_ID))
|
258
|
BEGIN
|
259
|
ROLLBACK TRANSACTION
|
260
|
SELECT '-1' as Result, '' RET_ID, N'Tờ trình chủ trương không tồn tại trong hệ thống' ErrorDesc
|
261
|
RETURN '-1'
|
262
|
END
|
263
|
---------TH TTCT CHƯA ĐƯỢC DUYỆT---------
|
264
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_CODE = @REQ_ID AND PROCESS_ID = 'APPROVE'))
|
265
|
BEGIN
|
266
|
ROLLBACK TRANSACTION
|
267
|
SELECT '-1' as Result, '' RET_ID, N'Tờ trình chủ trương chưa được duyệt' ErrorDesc
|
268
|
RETURN '-1'
|
269
|
END
|
270
|
|
271
|
DECLARE @l_RET_SUG_REPAIR_ID VARCHAR(15)
|
272
|
EXEC SYS_CodeMasters_Gen 'RET_REPAIR_SUGGEST', @l_RET_SUG_REPAIR_ID out
|
273
|
IF @l_RET_SUG_REPAIR_ID='' OR @l_RET_SUG_REPAIR_ID IS NULL GOTO ABORT
|
274
|
INSERT INTO RET_REPAIR_SUGGEST([RET_SUG_REPAIR_ID],[RET_ID],[REQ_ID],[REPAIR_SUG_DT],[BRANCH_ID],[BRANCH_SUGGEST],[TOTAL_AMT],[USER_SUGGEST],[REPAIR_REASON],[REPAIR_CONTENT],[AUTH_STATUS],[RECORD_STATUS],[MAKER_ID])
|
275
|
VALUES(@l_RET_SUG_REPAIR_ID,@l_RET_ID ,@REQ_ID ,CONVERT(DATETIME, @REPAIR_SUG_DT, 103) ,@BRANCH_ID ,@BRANCH_SUGGEST,@TOTAL_AMT,@USER_SUGGEST,@REPAIR_REASON,@REPAIR_CONTENT ,@p_AUTH_STATUS ,@p_RECORD_STATUS ,@p_MAKER_ID )
|
276
|
IF @@ERROR <> '' GOTO ABORT
|
277
|
FETCH NEXT FROM RetRepairSuggest INTO @REQ_ID,@REPAIR_SUG_DT,@BRANCH_ID,@BRANCH_SUGGEST,@TOTAL_AMT,@USER_SUGGEST,@REPAIR_REASON,@REPAIR_CONTENT
|
278
|
END
|
279
|
|
280
|
--INSERT RepairReal
|
281
|
FETCH NEXT FROM RetRepairReal INTO @d_REQ_PAY_ID,@REPAIR_DT,@BRANCH_REPAIR,@TOTAL_AMT,@REPAIR_CONTENT_REAL,@NOTES
|
282
|
WHILE @@FETCH_STATUS = 0
|
283
|
BEGIN
|
284
|
|
285
|
---------------PDN thanh toán chặn---------------
|
286
|
------TH KO CÓ PDN thanh toán------
|
287
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @d_REQ_PAY_ID))
|
288
|
BEGIN
|
289
|
ROLLBACK TRANSACTION
|
290
|
SELECT '-1' as Result, '' RET_ID, N'Phiếu đề nghị thanh toán không tồn tại trong hệ thống' ErrorDesc
|
291
|
RETURN '-1'
|
292
|
END
|
293
|
---------TH PDN thanh toán CHƯA ĐƯỢC DUYỆT---------
|
294
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @d_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
295
|
BEGIN
|
296
|
ROLLBACK TRANSACTION
|
297
|
SELECT '-1' as Result, '' RET_ID, N'Phiếu đề nghị thanh toán chưa được duyệt' ErrorDesc
|
298
|
RETURN '-1'
|
299
|
END
|
300
|
|
301
|
DECLARE @l_RET_REPAIR_REAL_ID VARCHAR(15)
|
302
|
EXEC SYS_CodeMasters_Gen 'RET_REPAIR_REAL', @l_RET_REPAIR_REAL_ID out
|
303
|
IF @l_RET_REPAIR_REAL_ID='' OR @l_RET_REPAIR_REAL_ID IS NULL GOTO ABORT
|
304
|
INSERT INTO RET_REPAIR_REAL([RET_REPAIR_REAL_ID],[RET_ID],[REQ_PAY_ID],[REPAIR_DT],[BRANCH_REPAIR],[TOTAL_AMT],[REPAIR_CONTENT_REAL],[NOTES] , [AUTH_STATUS],[RECORD_STATUS],[MAKER_ID])
|
305
|
VALUES(@l_RET_REPAIR_REAL_ID,@l_RET_ID,@d_REQ_PAY_ID ,CONVERT(DATETIME, @REPAIR_DT, 103) ,@BRANCH_REPAIR ,@TOTAL_AMT,@REPAIR_CONTENT_REAL,@NOTES ,@p_AUTH_STATUS ,@p_RECORD_STATUS ,@p_MAKER_ID )
|
306
|
IF @@ERROR <> '' GOTO ABORT
|
307
|
FETCH NEXT FROM RetRepairReal INTO @d_REQ_PAY_ID,@REPAIR_DT,@BRANCH_REPAIR,@TOTAL_AMT,@REPAIR_CONTENT_REAL,@NOTES
|
308
|
END
|
309
|
|
310
|
CLOSE RetTaxSchedule
|
311
|
DEALLOCATE RetTaxSchedule
|
312
|
CLOSE RetRepairSuggest
|
313
|
DEALLOCATE RetRepairSuggest
|
314
|
CLOSE RetRepairReal
|
315
|
DEALLOCATE RetRepairReal
|
316
|
|
317
|
--------BAODNQ 16/02/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
318
|
INSERT INTO dbo.PL_PROCESS
|
319
|
(
|
320
|
REQ_ID,
|
321
|
PROCESS_ID,
|
322
|
CHECKER_ID,
|
323
|
APPROVE_DT,
|
324
|
PROCESS_DESC,
|
325
|
NOTES
|
326
|
)
|
327
|
VALUES
|
328
|
( @l_RET_ID,
|
329
|
'INSERT',
|
330
|
@p_MAKER_ID,
|
331
|
GETDATE(),
|
332
|
N'Thêm mới thông tin bất động sản thành công' ,
|
333
|
N'Thêm mới thông tin bất động sản'
|
334
|
)
|
335
|
IF @@ERROR <> 0 GOTO ABORT
|
336
|
|
337
|
COMMIT TRANSACTION
|
338
|
SELECT '0' as Result, @l_RET_ID RET_ID, '' ErrorDesc
|
339
|
RETURN '0'
|
340
|
ABORT:
|
341
|
BEGIN
|
342
|
CLOSE RetTaxSchedule
|
343
|
DEALLOCATE RetTaxSchedule
|
344
|
CLOSE RetRepairSuggest
|
345
|
DEALLOCATE RetRepairSuggest
|
346
|
CLOSE RetRepairReal
|
347
|
DEALLOCATE RetRepairReal
|
348
|
ROLLBACK TRANSACTION
|
349
|
SELECT '-1' as Result, '' RET_ID, '' ErrorDesc
|
350
|
RETURN '-1'
|
351
|
End
|
352
|
|