Project

General

Profile

3.2.CAR DRIVER.txt

Luc Tran Van, 06/29/2023 04:43 PM

 
1
ALTER PROCEDURE [dbo].[CAR_DRIVE_Ins]
2
@p_CAR_ID	varchar(15)  = NULL,
3
@p_ASSET_ID	varchar(15)  = NULL,
4
@p_ASSET_NAME	nvarchar(200)  = NULL,
5
@p_OLD_INDEX_NUMBER	decimal(18)  = NULL,
6
@p_NEW_INDEX_NUMBER	decimal(18)  = NULL,
7
@p_INDEX_NUMBER	decimal(18)  = NULL,
8
@p_POWER_RATE	decimal(18,2)  = NULL,
9
@p_POWER_RATE_INDEX	decimal(18,2)  = NULL,
10
@p_CURR_POWER_RATE	decimal(18,2)  = NULL,
11
@p_INPUT_DT	VARCHAR(20) = NULL,
12
@p_ISLEAF	varchar(1)  = NULL,
13
@p_PARENT_ID	varchar(15)  = NULL,
14
@p_NOTES	nvarchar(1000)  = NULL,
15
@p_RECORD_STATUS	varchar(1)  = NULL,
16
@p_MAKER_ID	varchar(12)  = NULL,
17
@p_CREATE_DT	VARCHAR(20) = NULL,
18
@p_AUTH_STATUS	varchar(50)  = NULL,
19
@p_CHECKER_ID	varchar(12)  = NULL,
20
@p_APPROVE_DT	VARCHAR(20) = NULL,
21
@p_DR_ROUTE nvarchar(200) = NULL, --vietpq hieu chinh URD 09/12/2019
22
-- doanptt 14/02/2022
23
@p_REQ_PAY_ID VARCHAR(15) = NULL,
24
@p_NEW_FUEL_NUMBER	DECIMAL(18,2)  = NULL, --PhongNT 13/05/2022 Bổ sung nhiên liệu
25
@p_OLD_FUEL_NUMBER	DECIMAL(18,2) = NULL,
26
@p_REQ_CAR_ID		VARCHAR(15) =NULL, -- PYC XE 
27
@p_DRIVE_DETAIL XML = NULL
28
AS
29
	
30
--	DECLARE @ERRORSYS NVARCHAR(15)
31
--	IF (  EXISTS ( SELECT * FROM CAR_DRIVE WHERE CAR_ID = @p_CAR_ID))
32
--	BEGIN
33
--	    --kiem tra trang thai truoc do da suyet hay chua
34
--		IF(NOT EXISTS(SELECT * FROM CAR_DRIVE A WHERE A.AUTH_STATUS='A' AND A.ISLEAF = 'Y' AND (A.CAR_ID = @p_CAR_ID OR @p_CAR_ID IS NULL OR @p_CAR_ID='')))
35
--			SET @ERRORSYS='CARD-00003'
36
--	END
37
--    
38
--	IF( @ERRORSYS <> '' )
39
--	BEGIN
40
--		SELECT ErrorCode Result, '' CAR_DR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
41
--		RETURN '-1'
42
--	END
43
--
44
--  IF ( EXISTS ( SELECT 1 FROM CAR_DRIVE WHERE REQ_CAR_ID = @p_REQ_CAR_ID))
45
--	BEGIN
46
--	  	SELECT '-1' Result, '' CAR_DR_ID, N'Thêm mới thất bại! Phiếu yêu cầu xe đã tồn tại trong thông tin vận hành xe' ErrorDesc 
47
--		  RETURN '-1'
48
--	END
49

    
50
	
51
	DECLARE @ERRORSYS NVARCHAR(MAX)
52
	select @ERRORSYS = STUFF((
53
		SELECT ', ' + REQ_CODE
54
		FROM TR_REQUEST_CAR 
55
		WHERE START_TIME_TRIP<(SELECT START_TIME_TRIP FROM dbo.TR_REQUEST_CAR WHERE REQ_ID = @p_REQ_CAR_ID) 
56
        AND AUTH_STATUS<>'D'
57
		AND CAR_ID = @p_CAR_ID 
58
		AND REQ_ID NOT IN (SELECT REQ_CAR_ID FROM dbo.CAR_DRIVE A WHERE CAR_ID=@p_CAR_ID)
59
		
60
			FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '')
61
    
62
	--KIỂM TRA CÁC PHIẾU XE TRƯỚC THỜI ĐIỂM ĐI ĐÃ ĐƯỢC TẠO 
63
	IF (@ERRORSYS IS NOT NULL)
64
	BEGIN
65
		SELECT '-1' Result, N'Bạn cần tạo vận hành cho các phiếu yêu cầu sau: '+ @ERRORSYS ErrorDesc
66
		RETURN '-1'
67
	END
68

    
69
  IF (EXISTS(SELECT * FROM CAR_DRIVE cd WHERE REQ_CAR_ID=@p_REQ_CAR_ID))
70
	BEGIN
71
		SELECT '-1' Result, N'Phiếu yêu cầu xe tồn tại ở phiếu vận hành số '+(SELECT TOP(1) cd.CAR_DR_ID FROM CAR_DRIVE cd WHERE REQ_CAR_ID=@p_REQ_CAR_ID) ErrorDesc
72
		RETURN '-1'
73
	END
74
	
75
	
76
	Declare @hdoc INT
77
	Exec sp_xml_preparedocument @hdoc Output,@p_DRIVE_DETAIL
78
	DECLARE DriveDetail CURSOR FOR
79
	SELECT *
80
	FROM OPENXML(@hDoc,'/Root/DriveDetail',2)
81
	WITH 
82
	(
83
		INVOICE_NO nvarchar(100),
84
		INVOICE_DT VARCHAR(20),
85
		INVOICE_AMT DECIMAL(18,0),
86
		CAR_DR_TYPE nvarchar(200), --vietpq hieu chinh URD 09/12/2019
87
		NOTES nvarchar(MAX) --vietpq hieu chinh URD 09/12/2019
88
	)
89
	OPEN DriveDetail
90
	BEGIN TRANSACTION
91
	---- LUCTV 21062023_SECRETKEY: KIỂM TRA NẾU CHƯA KHAI BÁO THÔNG TIN VẬN HÀNH XE THÌ BẮT BUỘC PHẢI KHAI BÁO TRƯỚC KHI LÀM PYC XE
92
		IF(NOT EXISTS(SELECT * FROM CAR_DRIVE WHERE CAR_ID =@p_CAR_ID AND ISNULL(ISLEAF,'') ='Y' )) 
93
		BEGIN
94
			ROLLBACK TRANSACTION
95
			SELECT '-1' Result, '' REQ_ID, N'Thêm mới phiếu vận hành xe thất bại. Xe chưa được khai báo thông tin số km tồn đầu, số nhiên liệu tồn đầu. Vui lòng tra cứu thông tin xe để kiểm tra thông tin' ErrorDesc
96
			RETURN '-1'
97
		END
98
		---- LUCTV 29062023_SECRETKEY:CHỈ CHO PHÉP PHÒNG HÀNH CHÍNH HỘI SỞ ĐƯỢC PHÉP ĐIỀU CHỈNH SỐ XĂNG ĐẦU KỲ, SỐ KM ĐẦU KỲ
99
		--DECLARE @l_FUEL_INDEX_FROM DECIMAL(18,2), @l_KM_INDEX_FROM DECIMAL(18,2)
100
		--SET @l_FUEL_INDEX_FROM = (SELECT TOP 1 ISNULL(NEW_FUEL_NUMBER,0) FROM CAR_DRIVE WHERE CAR_ID =@p_CAR_ID AND ISNULL(ISLEAF,'') ='Y' AND RECORD_STATUS='1')
101
		--SET @l_KM_INDEX_FROM = (SELECT TOP 1 ISNULL(NEW_INDEX_NUMBER,0) FROM CAR_DRIVE WHERE CAR_ID =@p_CAR_ID AND ISNULL(ISLEAF,'') ='Y' AND RECORD_STATUS ='1')
102
		--IF(ISNULL(@l_FUEL_INDEX_FROM,0) <> @p_OLD_FUEL_NUMBER OR ISNULL(@l_KM_INDEX_FROM,0) <> @p_OLD_INDEX_NUMBER)
103
		--BEGIN
104
		--	IF(NOT EXISTS (SELECT * FROM TL_USER WHERE TLNANME=@p_MAKER_ID AND SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690604')))
105
		--	BEGIN
106
		--		ROLLBACK TRANSACTION
107
		--		SELECT '-1' Result, '' REQ_ID, N'Thêm mới phiếu vận hành xe thất bại. Bạn không được phép điều chỉnh thông tin chỉ số nhiên liệu cũ, chỉ số km cũ. Chức năng này chỉ dành cho nhóm người dùng Phòng Hành Chính - Hội Sở' ErrorDesc
108
		--		RETURN '-1'
109
		--	END
110
		--END
111
	---- END LUCTV
112
		DECLARE @l_CAR_DR_ID VARCHAR(15)
113
		
114
		IF @p_INPUT_DT = '' SET @p_INPUT_DT = NULL
115
		IF @p_CREATE_DT = '' SET @p_CREATE_DT = NULL
116
		IF @p_APPROVE_DT = '' SET @p_APPROVE_DT = NULL
117
		
118
		EXEC SYS_CodeMasters_Gen 'CAR_DRIVE', @l_CAR_DR_ID out
119
		IF @l_CAR_DR_ID='' OR @l_CAR_DR_ID IS NULL GOTO ABORT
120
		PRINT @l_CAR_DR_ID
121
		--Tren truyen mac dinh ISLEAF=Y
122
	    DECLARE @PARENT VARCHAR(15) = NULL
123
		SELECT @PARENT = [CAR_DR_ID] FROM CAR_DRIVE WHERE CAR_ID = @p_CAR_ID AND ISLEAF = 'Y' AND RECORD_STATUS = '1'
124
		UPDATE CAR_DRIVE SET ISLEAF = 'N' WHERE [CAR_DR_ID] = @PARENT
125

    
126

    
127
		INSERT INTO CAR_DRIVE([CAR_DR_ID],[CAR_ID],[ASSET_ID],[ASSET_NAME],[OLD_INDEX_NUMBER],[NEW_INDEX_NUMBER],[INDEX_NUMBER],[POWER_RATE],[POWER_RATE_INDEX],[CURR_POWER_RATE],[DR_ROUTE], [INPUT_DT],[ISLEAF],[PARENT_ID],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[REQ_PAY_ID],[REQ_CAR_ID],[OLD_FUEL_NUMBER],[NEW_FUEL_NUMBER]) 
128
		VALUES(@l_CAR_DR_ID ,@p_CAR_ID ,@p_ASSET_ID ,@p_ASSET_NAME ,@p_OLD_INDEX_NUMBER,
129
		@p_NEW_INDEX_NUMBER ,@p_INDEX_NUMBER ,@p_POWER_RATE ,@p_POWER_RATE_INDEX ,
130
		@p_CURR_POWER_RATE , @p_DR_ROUTE, CONVERT(DATETIME, @p_INPUT_DT, 103) ,'Y' ,@PARENT ,
131
		@p_NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,
132
		@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_REQ_PAY_ID,@p_REQ_CAR_ID,@p_OLD_FUEL_NUMBER,@p_NEW_FUEL_NUMBER)
133
		IF @@Error <> 0 GOTO ABORT
134

    
135
		--INSERT CAR DRIVE DETAIL
136
		DECLARE 	
137
		@INVOICE_NO nvarchar(100),
138
		@INVOICE_DT VARCHAR(20),
139
		@INVOICE_AMT DECIMAL(18,0),
140
		@CAR_DR_TYPE nvarchar(200), --vietpq hieu chinh URD 09/12/2019
141
		@NOTES nvarchar(MAX) --vietpq hieu chinh URD 09/12/2019
142
		PRINT 'INSERT MASTER SUCCESS'
143
		FETCH NEXT FROM DriveDetail INTO @INVOICE_NO,@INVOICE_DT,@INVOICE_AMT,@CAR_DR_TYPE,@NOTES
144
		PRINT 'FETCH  FIRST ROW'
145
		
146
		WHILE @@FETCH_STATUS = 0
147
		BEGIN
148
			DECLARE @l_ID VARCHAR(15)
149
			EXEC SYS_CodeMasters_Gen 'CAR_DRIVE_DT', @l_ID out
150
			IF @l_ID='' OR @l_ID IS NULL GOTO ABORT
151
			IF @INVOICE_DT = '' SET @INVOICE_DT = NULL
152
			PRINT 'INSERT FIRST ROW'
153
			INSERT INTO CAR_DRIVE_DT
154
			VALUES(@l_ID ,@l_CAR_DR_ID ,@INVOICE_NO,CONVERT(DATETIME,@INVOICE_DT,103),@INVOICE_AMT, @CAR_DR_TYPE, @NOTES)
155

    
156
			FETCH NEXT FROM DriveDetail INTO @INVOICE_NO,@INVOICE_DT,@INVOICE_AMT,@CAR_DR_TYPE,@NOTES
157
		END
158
	
159
		CLOSE DriveDetail
160
		DEALLOCATE DriveDetail
161
COMMIT TRANSACTION
162
SELECT '0' as Result, @l_CAR_DR_ID  CAR_DR_ID, '' ErrorDesc
163
RETURN '0'
164
ABORT:
165
BEGIN
166
		ROLLBACK TRANSACTION
167
		SELECT '-1' as Result, '' CAR_DR_ID, '' ErrorDesc
168
		RETURN '-1'
169
End
170
GO
171
ALTER PROCEDURE [dbo].[CAR_DRIVE_Upd]
172
@p_CAR_DR_ID VARCHAR(15) = NULL,
173
@p_CAR_ID	varchar(15)  = NULL,
174
@p_ASSET_ID	varchar(15)  = NULL,
175
@p_ASSET_NAME	nvarchar(200)  = NULL,
176
@p_OLD_INDEX_NUMBER	decimal(18)  = NULL,
177
@p_NEW_INDEX_NUMBER	decimal(18)  = NULL,
178
@p_INDEX_NUMBER	decimal(18)  = NULL,
179
@p_POWER_RATE	decimal(18,2)  = NULL,
180
@p_POWER_RATE_INDEX	decimal(18,2)  = NULL,
181
@p_CURR_POWER_RATE	decimal(18,2)  = NULL,
182
@p_INPUT_DT	VARCHAR(20) = NULL,
183
@p_ISLEAF	varchar(1)  = NULL,
184
@p_PARENT_ID	varchar(15)  = NULL,
185
@p_NOTES	nvarchar(1000)  = NULL,
186
@p_RECORD_STATUS	varchar(1)  = NULL,
187
@p_MAKER_ID	varchar(12)  = NULL,
188
@p_CREATE_DT	VARCHAR(20) = NULL,
189
@p_AUTH_STATUS	varchar(50)  = NULL,
190
@p_CHECKER_ID	varchar(12)  = NULL,
191
@p_APPROVE_DT	VARCHAR(20) = NULL,
192
@p_DR_ROUTE nvarchar(200) = NULL, --vietpq hieu chinh URD 09/12/2019
193
-- doanptt 14/02/2022
194
@p_REQ_PAY_ID VARCHAR(15) = NULL,
195
@p_NEW_FUEL_NUMBER	DECIMAL(18,2)  = NULL, --PhongNT 13/05/2022 Bổ sung nhiên liệu
196
@p_OLD_FUEL_NUMBER	DECIMAL(18,2) = NULL,
197
@p_REQ_CAR_ID		VARCHAR(15) =NULL, -- PYC XE 
198
@p_DRIVE_DETAIL XML = NULL
199
AS
200
	
201
--	DECLARE @ERRORSYS NVARCHAR(15)
202
--	
203
--	IF( @ERRORSYS <> '' )
204
--	BEGIN
205
--		SELECT ErrorCode Result, '' CAR_DR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
206
--		RETURN '0'
207
--	END
208

    
209
--  IF ( EXISTS ( SELECT 1 FROM CAR_DRIVE WHERE REQ_CAR_ID = @p_REQ_CAR_ID AND CAR_DR_ID<>@p_CAR_DR_ID))
210
--	BEGIN
211
--	  	SELECT '-1' Result, '' CAR_DR_ID, N'Sửa thông tin phiếu vận hành thất bại! Phiếu yêu cầu xe đã tồn tại trong thông tin vận hành xe' ErrorDesc 
212
--		  RETURN '-1'
213
--	END
214
   DECLARE @Note NVARCHAR(max)
215
    SELECT @Note=N'Chỉ số km cũ thay đổi từ: '+cast(cd.OLD_INDEX_NUMBER AS varchar(50))+' - '+cast(@p_OLD_INDEX_NUMBER AS varchar(50))+CHAR(10)+
216
                 N'Chỉ số km mới thay đổi từ: '+cast(cd.NEW_INDEX_NUMBER AS varchar(50))+' - '+cast(@p_NEW_INDEX_NUMBER AS varchar(50))+CHAR(10)+
217
                 N'Chỉ số nhiên liệu mới thay đổi từ: '+cast(cd.NEW_FUEL_NUMBER AS varchar(50))+' - '+cast(@p_NEW_FUEL_NUMBER AS varchar(50))+CHAR(10)
218
    FROM CAR_DRIVE cd WHERE cd.CAR_DR_ID=@P_CAR_DR_ID
219

    
220
	Declare @hdoc INT
221
	Exec sp_xml_preparedocument @hdoc Output,@p_DRIVE_DETAIL
222
	DECLARE DriveDetail CURSOR FOR
223
	SELECT *
224
	FROM OPENXML(@hDoc,'/Root/DriveDetail',2)
225
	WITH 
226
	(
227
		DRDT_ID VARCHAR(15),
228
		INVOICE_NO nvarchar(100),
229
		INVOICE_DT VARCHAR(20),
230
		INVOICE_AMT DECIMAL(18,0),
231
		CAR_DR_TYPE nvarchar(200), --vietpq hieu chinh URD 09/12/2019
232
		NOTES nvarchar(MAX) --vietpq hieu chinh URD 09/12/2019
233
	)
234
	OPEN DriveDetail
235
BEGIN TRANSACTION
236
	---- LUCTV 26062023_SECRETKEY: KIỂM TRA NẾU CHƯA KHAI BÁO THÔNG TIN VẬN HÀNH XE THÌ BẮT BUỘC PHẢI KHAI BÁO TRƯỚC KHI LÀM PYC XE
237
		IF(NOT EXISTS(SELECT * FROM CAR_DRIVE WHERE CAR_ID =@p_CAR_ID AND ISNULL(ISLEAF,'') ='Y' )) 
238
		BEGIN
239
			ROLLBACK TRANSACTION
240
			SELECT '-1' Result, '' REQ_ID, N'Cập nhật phiếu vận hành xe thất bại. Xe chưa được khai báo thông tin số km tồn đầu, số nhiên liệu tồn đầu. Vui lòng tra cứu thông tin xe để kiểm tra thông tin' ErrorDesc
241
			RETURN '-1'
242
		END
243
		------ LUCTV 29062023_SECRETKEY:CHỈ CHO PHÉP PHÒNG HÀNH CHÍNH HỘI SỞ ĐƯỢC PHÉP ĐIỀU CHỈNH SỐ XĂNG ĐẦU KỲ, SỐ KM ĐẦU KỲ
244
		--DECLARE @l_FUEL_INDEX_FROM DECIMAL(18,2), @l_KM_INDEX_FROM DECIMAL(18,2)
245
		--SET @l_FUEL_INDEX_FROM = (SELECT TOP 1 ISNULL(NEW_FUEL_NUMBER,0) FROM CAR_DRIVE WHERE CAR_ID =@p_CAR_ID AND ISNULL(ISLEAF,'') ='Y' AND RECORD_STATUS ='1')
246
		--SET @l_KM_INDEX_FROM = (SELECT TOP 1 ISNULL(NEW_INDEX_NUMBER,0) FROM CAR_DRIVE WHERE CAR_ID =@p_CAR_ID AND ISNULL(ISLEAF,'') ='Y' AND RECORD_STATUS='1')
247
		--IF(ISNULL(@l_FUEL_INDEX_FROM,0) <> @p_OLD_FUEL_NUMBER OR ISNULL(@l_KM_INDEX_FROM,0) <> @p_OLD_INDEX_NUMBER)
248
		--BEGIN
249
		--	IF(NOT EXISTS (SELECT * FROM TL_USER WHERE TLNANME=@p_MAKER_ID AND SECUR_CODE IN (SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690604')))
250
		--	BEGIN
251
		--		ROLLBACK TRANSACTION
252
		--		SELECT '-1' Result, '' REQ_ID, N'Cập nhật phiếu vận hành xe thất bại. Bạn không được phép điều chỉnh thông tin chỉ số nhiên liệu cũ, chỉ số km cũ. Chức năng này chỉ dành cho nhóm người dùng Phòng Hành Chính - Hội Sở' ErrorDesc
253
		--		RETURN '-1'
254
		--	END
255
		--END
256
		--- END
257
		DECLARE @l_CAR_DR_ID VARCHAR(15)
258
		
259
		IF @p_INPUT_DT = '' SET @p_INPUT_DT = NULL
260
		IF @p_CREATE_DT = '' SET @p_CREATE_DT = NULL
261
		IF @p_APPROVE_DT = '' SET @p_APPROVE_DT = NULL
262
		---- LUCTV 28062023_SECRETKEY KHI CAP NHAT THONG TIN PHIEU VAN HANH CHỈ LƯU LOG, KHÔNG CẦN UPDATE MAKKER_ID
263
		UPDATE CAR_DRIVE SET [CAR_ID] = @p_CAR_ID,[ASSET_ID] = @p_ASSET_ID,[ASSET_NAME] = @p_ASSET_NAME,
264
		[OLD_INDEX_NUMBER] = @p_OLD_INDEX_NUMBER,[NEW_INDEX_NUMBER] = @p_NEW_INDEX_NUMBER,
265
		[INDEX_NUMBER] = @p_INDEX_NUMBER,[POWER_RATE] = @p_POWER_RATE,[POWER_RATE_INDEX] = @p_POWER_RATE_INDEX,
266
		[CURR_POWER_RATE] = @p_CURR_POWER_RATE,[DR_ROUTE] = @p_DR_ROUTE,[INPUT_DT] = CONVERT(DATETIME, @p_INPUT_DT, 103), 
267
		[ISLEAF] = @p_ISLEAF,[PARENT_ID] = @p_PARENT_ID,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,
268
		[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),
269
		[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,
270
		[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),[REQ_PAY_ID] = @p_REQ_PAY_ID,[REQ_CAR_ID]=@p_REQ_CAR_ID,[OLD_FUEL_NUMBER]=@p_OLD_FUEL_NUMBER,[NEW_FUEL_NUMBER]=@p_NEW_FUEL_NUMBER
271
		WHERE  CAR_DR_ID = @p_CAR_DR_ID
272
		IF @@Error <> 0 GOTO ABORT
273

    
274
		--INSERT CAR DRIVE DETAIL
275
		DECLARE
276
		@DRDT_ID VARCHAR(15),
277
		@INVOICE_NO nvarchar(100),
278
		@INVOICE_DT VARCHAR(20),
279
		@INVOICE_AMT DECIMAL(18,0),
280
		@CAR_DR_TYPE nvarchar(200), --vietpq hieu chinh URD 09/12/2019
281
		@NOTES nvarchar(MAX) --vietpq hieu chinh URD 09/12/2019
282

    
283
		DELETE FROM CAR_DRIVE_DT WHERE CAR_DR_ID = @P_CAR_DR_ID
284
		PRINT 'INSERT MASTER SUCCESS'
285
		FETCH NEXT FROM DriveDetail INTO @DRDT_ID,@INVOICE_NO,@INVOICE_DT,@INVOICE_AMT, @CAR_DR_TYPE, @NOTES
286
		PRINT 'FETCH  FIRST ROW'
287
		
288
		WHILE @@FETCH_STATUS = 0
289
		BEGIN
290
			IF LEN (@DRDT_ID) = 0
291
			BEGIN
292
				EXEC SYS_CodeMasters_Gen 'CAR_DRIVE_DT', @DRDT_ID out
293
				IF @DRDT_ID='' OR @DRDT_ID IS NULL GOTO ABORT
294
			END
295
			IF @INVOICE_DT = '' SET @INVOICE_DT = NULL
296
			PRINT 'INSERT FIRST ROW'
297
			INSERT INTO CAR_DRIVE_DT
298
			VALUES(@DRDT_ID ,@P_CAR_DR_ID ,@INVOICE_NO,CONVERT(DATETIME,@INVOICE_DT,103),@INVOICE_AMT,@CAR_DR_TYPE,@NOTES)
299

    
300
			FETCH NEXT FROM DriveDetail INTO @DRDT_ID,@INVOICE_NO,@INVOICE_DT,@INVOICE_AMT, @CAR_DR_TYPE, @NOTES
301
		END
302
	
303
		CLOSE DriveDetail
304
		DEALLOCATE DriveDetail
305

    
306
    
307
    INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
308
  VALUES (@P_CAR_DR_ID, 'CAR_DIVE', @p_MAKER_ID, GETDATE(), @Note, N'Chỉnh sửa phiếu vận hành');
309

    
310
COMMIT TRANSACTION
311
SELECT '0' as Result, @p_CAR_DR_ID  CAR_DR_ID, '' ErrorDesc
312
RETURN '0'
313
ABORT:
314
BEGIN
315
		ROLLBACK TRANSACTION
316
		SELECT '-1' as Result, '' CAR_DR_ID, '' ErrorDesc
317
		RETURN '-1'
318
End
319

    
320

    
321

    
322