1
|
|
2
|
|
3
|
ALTER PROCEDURE [dbo].[REAL_ESTATE_R_H_Ins]
|
4
|
@p_BRANCH_MANAGE nvarchar(500) = NULL,
|
5
|
@p_BRANCH_USE nvarchar(500) = NULL,
|
6
|
@p_RET_ADDR nvarchar(MAX) = NULL,
|
7
|
@p_RET_R_H_TIME decimal = NULL,
|
8
|
@p_START_DT VARCHAR(20) = NULL,
|
9
|
@p_END_DT VARCHAR(20) = NULL,
|
10
|
@p_R_LAND_SQUARE decimal = NULL,
|
11
|
@p_SCALE NVARCHAR(500) = NULL,
|
12
|
@p_CONSTRUCT_SQUARE decimal = NULL,
|
13
|
@p_PRICE_DETAIL XML = NULL,
|
14
|
@p_DEPOSIT varchar(1) = NULL,
|
15
|
@p_DEPOSIT_PRICE decimal = NULL,
|
16
|
@p_DEPOSIT_RETURN_DT VARCHAR(20) = NULL,
|
17
|
@p_PURCHASE_EACH_TERM decimal = NULL,
|
18
|
@p_PAY_AMT decimal = NULL,
|
19
|
@p_PAY_PAY_AMT decimal = NULL,
|
20
|
@p_PAY_MONTH_TIMES INT = NULL,
|
21
|
@p_NOTES nvarchar(1000) = NULL,
|
22
|
@p_RECORD_STATUS varchar(1) = NULL,
|
23
|
@p_AUTH_STATUS varchar(1) = NULL,
|
24
|
@p_MAKER_ID varchar(15) = NULL,
|
25
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
26
|
@p_CHECKER_ID varchar(15) = NULL,
|
27
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
28
|
@p_MONTH_TIMES INT = NULL,
|
29
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
30
|
----BAODNQ 7/2/2022: Thêm cột vào bảng REAL_ESTATE_R_H------
|
31
|
@p_TR_CONTRACT_ID varchar(15) = NULL,
|
32
|
@p_EXTEND_DT varchar(20) = NULL,
|
33
|
@p_STRUCTURE nvarchar(500) = NULL,
|
34
|
@p_IS_SEND_APPR VARCHAR(15) = NULL,
|
35
|
@p_SEND_APPR_DT VARCHAR(20) = NULL,
|
36
|
@p_SIGN_USER VARCHAR(15) = NULL,
|
37
|
@p_SIGN_DT VARCHAR(20) = NULL
|
38
|
AS
|
39
|
DECLARE @l_ERROR_MESSAGE VARCHAR(1000)
|
40
|
BEGIN TRANSACTION
|
41
|
|
42
|
IF(CONVERT(DATETIME, @p_END_DT, 103) < CONVERT(DATETIME, @p_START_DT, 103))
|
43
|
BEGIN
|
44
|
ROLLBACK TRANSACTION
|
45
|
SELECT '-1' as Result, '' RET_R_H_ID,
|
46
|
N'Ngày kết thúc không được nhỏ hơn ngày bắt đầu' ErrorDesc
|
47
|
RETURN '-1'
|
48
|
END
|
49
|
|
50
|
IF(CONVERT(DATETIME, @p_EXTEND_DT, 103) < CONVERT(DATETIME, @p_START_DT, 103))
|
51
|
BEGIN
|
52
|
ROLLBACK TRANSACTION
|
53
|
SELECT '-1' as Result, '' RET_R_H_ID,
|
54
|
N'Ngày gia hạn hợp đồng không được nhỏ hơn ngày bắt đầu' ErrorDesc
|
55
|
RETURN '-1'
|
56
|
END
|
57
|
|
58
|
IF(
|
59
|
(@p_DEPOSIT_RETURN_DT IS NOT NULL OR @p_DEPOSIT_RETURN_DT <> '')
|
60
|
AND CONVERT(DATETIME, @p_DEPOSIT_RETURN_DT, 103) < CONVERT(DATETIME, @p_START_DT, 103)
|
61
|
)
|
62
|
BEGIN
|
63
|
ROLLBACK TRANSACTION
|
64
|
SELECT '-1' as Result, '' RET_R_H_ID,
|
65
|
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
|
66
|
RETURN '-1'
|
67
|
END
|
68
|
|
69
|
DECLARE @p_PRICE_DT_ROW_NO INT = 0
|
70
|
|
71
|
-- GEN ID
|
72
|
DECLARE @p_RET_R_H_ID VARCHAR(30)
|
73
|
DECLARE @p_KeyGen VARCHAR(15);
|
74
|
EXEC dbo.SYS_CodeMasters_Gen 'REAL_ESTATE_R_H', @p_RET_R_H_ID out
|
75
|
|
76
|
Declare @hdoc INT
|
77
|
Exec sp_xml_preparedocument @hdoc Output,@p_PRICE_DETAIL
|
78
|
DECLARE PriceDetail CURSOR FOR
|
79
|
SELECT *
|
80
|
FROM OPENXML(@hDoc,'/Root/RetPriceDetail',2)
|
81
|
WITH
|
82
|
(
|
83
|
RET_PRICE_ID varchar(15),
|
84
|
RET_R_H_ID varchar(15),
|
85
|
PRICE decimal(18,0),
|
86
|
PRICE_DT VARCHAR(20),
|
87
|
PRICE_END_DT VARCHAR(20)
|
88
|
)
|
89
|
OPEN PriceDetail
|
90
|
|
91
|
-- INSERT
|
92
|
----BAODNQ 7/2/2022: Thêm cột vào bảng REAL_ESTATE_R_H------
|
93
|
INSERT INTO REAL_ESTATE_R_H (RET_R_H_ID, BRANCH_MANAGE, BRANCH_USE, RET_ADDR, RET_R_H_TIME, START_DT,
|
94
|
END_DT, R_LAND_SQUARE, SCALE, CONSTRUCT_SQUARE, DEPOSIT, DEPOSIT_PRICE, DEPOSIT_RETURN_DT,
|
95
|
PURCHASE_EACH_TERM, NOTES, RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID,
|
96
|
APPROVE_DT,BRANCH_CREATE, MONTH_TIMES, PAY_AMT, PAY_MONTH_TIMES, PAY_PAY_AMT, TR_CONTRACT_ID,
|
97
|
EXTEND_DT, STRUCTURE, IS_SEND_APPR,SEND_APPR_DT,SIGN_USER,SIGN_DT)
|
98
|
VALUES (@p_RET_R_H_ID, @p_BRANCH_MANAGE, @p_BRANCH_USE, @p_RET_ADDR, @p_RET_R_H_TIME,
|
99
|
CONVERT(DATETIME, @p_START_DT, 103), CONVERT(DATETIME, @p_END_DT, 103), @p_R_LAND_SQUARE, @p_SCALE,
|
100
|
@p_CONSTRUCT_SQUARE, @p_DEPOSIT, @p_DEPOSIT_PRICE, CONVERT(DATETIME,@p_DEPOSIT_RETURN_DT, 103), @p_PURCHASE_EACH_TERM,
|
101
|
@p_NOTES, @p_RECORD_STATUS, @p_AUTH_STATUS, @p_MAKER_ID, CONVERT(DATETIME, @p_CREATE_DT, 103),
|
102
|
@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_BRANCH_CREATE,@p_MONTH_TIMES,@p_PAY_AMT,
|
103
|
@p_PAY_MONTH_TIMES, @p_PAY_PAY_AMT, @p_TR_CONTRACT_ID, CONVERT(DATETIME, @p_EXTEND_DT, 103),
|
104
|
@p_STRUCTURE, @p_IS_SEND_APPR, CONVERT(DATETIME,@p_SEND_APPR_DT ,103), @p_SIGN_USER, CONVERT(DATETIME, @p_SIGN_DT, 103))
|
105
|
|
106
|
IF @@Error <> 0 GOTO ABORT
|
107
|
|
108
|
DECLARE @RET_PRICE_ID varchar(15), @RET_R_H_ID varchar(15), @PRICE decimal(18,0), @PRICE_DT VARCHAR(20), @PRICE_END_DT VARCHAR(20)
|
109
|
FETCH NEXT FROM PriceDetail INTO @RET_PRICE_ID, @RET_R_H_ID, @PRICE, @PRICE_DT, @PRICE_END_DT
|
110
|
|
111
|
WHILE @@FETCH_STATUS = 0
|
112
|
BEGIN
|
113
|
SET @p_PRICE_DT_ROW_NO = @p_PRICE_DT_ROW_NO + 1
|
114
|
|
115
|
IF(CONVERT(DATETIME, @PRICE_END_DT, 103) <= CONVERT(DATETIME, @PRICE_DT, 103))
|
116
|
BEGIN
|
117
|
ROLLBACK TRANSACTION
|
118
|
CLOSE PriceDetail
|
119
|
DEALLOCATE PriceDetail
|
120
|
SELECT '-1' as Result, '' RET_R_H_ID,
|
121
|
N'Lưới giá thuê: dòng' +CONVERT(VARCHAR, @p_PRICE_DT_ROW_NO)+
|
122
|
N': Đến ngày không được nhỏ hơn từ ngày'ErrorDesc
|
123
|
RETURN '-1'
|
124
|
END
|
125
|
|
126
|
EXEC SYS_CodeMasters_Gen 'RET_PRICE', @RET_PRICE_ID out
|
127
|
IF @RET_PRICE_ID ='' OR @RET_PRICE_ID IS NULL GOTO ABORT
|
128
|
INSERT INTO RET_PRICE(RET_PRICE_ID, RET_R_H_ID, PRICE, PRICE_DT, PRICE_END_DT)
|
129
|
VALUES(@RET_PRICE_ID, @p_RET_R_H_ID, @PRICE, CONVERT(DATETIME, @PRICE_DT, 103), CONVERT(DATETIME, @PRICE_END_DT, 103))
|
130
|
IF @@ERROR <> 0 GOTO ABORT
|
131
|
FETCH NEXT FROM PriceDetail INTO @RET_PRICE_ID, @RET_R_H_ID, @PRICE, @PRICE_DT, @PRICE_END_DT
|
132
|
END
|
133
|
CLOSE PriceDetail
|
134
|
DEALLOCATE PriceDetail
|
135
|
|
136
|
|
137
|
--------BAODNQ 14/02/2022: Insert vào PL_PROCESS lưu lịch sử xử lý---------
|
138
|
INSERT INTO dbo.PL_PROCESS
|
139
|
(
|
140
|
REQ_ID,
|
141
|
PROCESS_ID,
|
142
|
CHECKER_ID,
|
143
|
APPROVE_DT,
|
144
|
PROCESS_DESC,
|
145
|
NOTES
|
146
|
)
|
147
|
VALUES
|
148
|
( @p_RET_R_H_ID,
|
149
|
'INSERT',
|
150
|
@p_MAKER_ID,
|
151
|
GETDATE(),
|
152
|
N'Thêm mới BDS thuê làm trụ sở CN/PGD thành công' ,
|
153
|
N'Thêm mới BDS thuê làm trụ sở CN/PGD'
|
154
|
)
|
155
|
|
156
|
|
157
|
COMMIT TRANSACTION
|
158
|
SELECT '0' as Result, @p_RET_R_H_ID RET_R_H_ID, '' ErrorDesc
|
159
|
RETURN '0'
|
160
|
|
161
|
ABORT:
|
162
|
BEGIN
|
163
|
ROLLBACK TRANSACTION
|
164
|
CLOSE PriceDetail
|
165
|
DEALLOCATE PriceDetail
|
166
|
SELECT '-1' as Result, '' RET_R_H_ID, @l_ERROR_MESSAGE ErrorDesc
|
167
|
RETURN '-1'
|
168
|
END
|