Project

General

Profile

REAL_ESTATE_R_H_Ins.txt

Hot Fix BDS thuê làm CN/PGD - Luc Tran Van, 04/08/2022 03:02 PM

 
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