Project

General

Profile

plan-import-Fix-notificaption.txt

Luc Tran Van, 03/10/2022 03:27 PM

 
1
USE [gAMSPro_BVB_v3]
2
GO
3
/****** Object:  StoredProcedure [dbo].[PL_IMPORT_Ins]    Script Date: 3/10/2022 2:38:06 PM ******/
4
SET ANSI_NULLS ON
5
GO
6
SET QUOTED_IDENTIFIER ON
7
GO
8

    
9

    
10

    
11
ALTER PROCEDURE [dbo].[PL_IMPORT_Ins]
12
@p_PLAN_CODE VARCHAR(20),
13
@p_IMP_YEAR	INT  = NULL,
14
@p_IMP_NAME NVARCHAR(200),
15
@p_FILE_NAME	NVARCHAR(200)  = NULL,
16
@p_TOTAL_QTY	NUMERIC(18,0)  = NULL,
17
@p_TOTAL_ATM	NUMERIC(18,0)  = NULL,
18
@p_NOTES	nvarchar(1000)  = NULL,
19
@p_RECORD_STATUS	varchar(1)  = NULL,
20
@p_MAKER_ID	varchar(20)  = NULL,
21
@p_CREATE_DT	nvarchar(20) = NULL,
22
@p_AUTH_STATUS	varchar(50)  = NULL,
23
@p_CHECKER_ID	varchar(20)  = NULL,
24
@p_APPROVE_DT	nvarchar(20) = NULL,
25
@p_XMLData XML=NULL
26
AS
27
BEGIN TRANSACTION
28

    
29
DECLARE @TableTmp TABLE(
30
		IMP_YEAR VARCHAR(4),
31
		PLAN_TYPE_ID VARCHAR(15),
32
		PLAN_TYPE_CODE VARCHAR(15),
33
		PLAN_TYPE_NAME NVARCHAR(200), 
34
		COST_ID VARCHAR(15),
35
		COST_CODE VARCHAR(100),
36
		COST_NAME NVARCHAR(200),
37
		BRANCH_ID VARCHAR(15),
38
		BRANCH_CODE VARCHAR(15),
39
		BRANCH_NAME NVARCHAR(200),
40
		DEP_ID	varchar(15),
41
		DEP_CODE VARCHAR(15),
42
		DEP_NAME NVARCHAR(200),
43
		REF_ID INT,
44
		REF_CODE VARCHAR(20),
45
		REF_NAME NVARCHAR(200),
46
		GOOD_ID varchar(15),
47
		GOOD_CODE VARCHAR(20),
48
		GOOD_NAME NVARCHAR(200),
49
		QTY INT,
50
		TOTAL_AMT DECIMAL(18,2),
51
		NOTES NVARCHAR(1000),
52
		AMT_EMT DECIMAL(18,2),
53
		AMT_EXE DECIMAL(18,2),
54
		AMT_TF DECIMAL(18,2),
55
		AMT_RECEIVE_TF DECIMAL(18,2)
56
);
57
	Declare @hdoc INT
58
	Exec sp_xml_preparedocument @hdoc Output, @p_XMLData	
59
INSERT INTO @TableTmp
60
 SELECT *
61
	FROM OPENXML(@hDoc,'/Root/XmlData',2)
62
	WITH 
63
	(
64
	    IMP_YEAR VARCHAR(4),
65
		PLAN_TYPE_ID VARCHAR(15),
66
		PLAN_TYPE_CODE VARCHAR(15),
67
		PLAN_TYPE_NAME NVARCHAR(200), 
68
		COST_ID VARCHAR(15),
69
		COST_CODE VARCHAR(100),
70
		COST_NAME NVARCHAR(200),
71
		BRANCH_ID VARCHAR(15),
72
		BRANCH_CODE VARCHAR(15),
73
		BRANCH_NAME NVARCHAR(200),
74
		DEP_ID	varchar(15),
75
		DEP_CODE VARCHAR(15),
76
		DEP_NAME NVARCHAR(200),
77
		REF_ID INT,
78
		REF_CODE VARCHAR(20),
79
		REF_NAME NVARCHAR(200),
80
		GOOD_ID varchar(15),
81
		GOOD_CODE VARCHAR(20),
82
		GOOD_NAME NVARCHAR(200),
83
		QTY INT,
84
		TOTAL_AMT DECIMAL(18,2),
85
		NOTES NVARCHAR(1000),
86
		AMT_EMT DECIMAL(18,2),
87
		AMT_EXE DECIMAL(18,2),
88
		AMT_TF DECIMAL(18,2),
89
		AMT_RECEIVE_TF DECIMAL(18,2)
90
	)
91
--Update ID
92
UPDATE @TableTmp  SET BRANCH_ID=(SELECT TOP 1 BRANCH_ID FROM dbo.CM_BRANCH WHERE dbo.CM_BRANCH.BRANCH_CODE=[@TableTmp].BRANCH_CODE),
93
DEP_ID=(SELECT TOP 1 DEP_ID FROM dbo.CM_DEPARTMENT WHERE dbo.CM_DEPARTMENT.DEP_CODE=[@TableTmp].DEP_CODE),
94
COST_ID=(SELECT TOP 1 DVDM_ID FROM dbo.CM_DVDM WHERE dbo.CM_DVDM.DVDM_CODE=[@TableTmp].COST_CODE AND IS_DVDM=1 ),
95
PLAN_TYPE_ID=(SELECT TOP 1 PLAN_TYPE_ID FROM dbo.CM_PLAN_TYPE WHERE dbo.CM_PLAN_TYPE.PLAN_TYPE_CODE=[@TableTmp].PLAN_TYPE_CODE),
96
GOOD_ID=(SELECT TOP 1 GD_ID FROM dbo.CM_GOODS WHERE dbo.CM_GOODS.GD_CODE=[@TableTmp].GOOD_CODE)
97

    
98
-- GIANT UPDATE NAME
99
--Update ID
100
UPDATE @TableTmp  SET BRANCH_NAME=(SELECT TOP 1 BRANCH_NAME FROM dbo.CM_BRANCH WHERE dbo.CM_BRANCH.BRANCH_CODE=[@TableTmp].BRANCH_CODE),
101
DEP_NAME=(SELECT TOP 1 DEP_NAME FROM dbo.CM_DEPARTMENT WHERE dbo.CM_DEPARTMENT.DEP_CODE=[@TableTmp].DEP_CODE),
102
COST_NAME=(SELECT TOP 1 DVDM_NAME FROM dbo.CM_DVDM WHERE dbo.CM_DVDM.DVDM_CODE=[@TableTmp].COST_CODE AND IS_DVDM=1 ),
103
PLAN_TYPE_NAME=(SELECT TOP 1 PLAN_TYPE_NAME FROM dbo.CM_PLAN_TYPE WHERE dbo.CM_PLAN_TYPE.PLAN_TYPE_CODE=[@TableTmp].PLAN_TYPE_CODE),
104
GOOD_NAME=(SELECT TOP 1 GD_NAME FROM dbo.CM_GOODS WHERE dbo.CM_GOODS.GD_CODE=[@TableTmp].GOOD_CODE)
105

    
106

    
107
DECLARE @Error NVARCHAR(MAX)
108
--- Validate dữ liệu
109
IF(EXISTS(SELECT BRANCH_ID FROM @TableTmp WHERE BRANCH_ID IS NULL OR BRANCH_ID=''))
110
BEGIN
111

    
112
SET @Error=(select STUFF( (select ';' + BRANCH_CODE from @TableTmp  WHERE BRANCH_ID IS NULL OR BRANCH_ID='' FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))	
113
	
114

    
115
		ROLLBACK TRANSACTION
116
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã đơn vị chưa tồn tại trên hệ thống: '+ @Error ErrorDesc
117
		RETURN '-1'
118
END
119
IF(EXISTS(SELECT DEP_ID FROM @TableTmp WHERE DEP_ID IS NULL OR DEP_ID=''))
120
BEGIN
121

    
122
		
123
		SET @Error=(select STUFF( (select ';' + DEP_CODE from @TableTmp  WHERE DEP_ID IS NULL OR DEP_ID='' FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
124

    
125
		ROLLBACK TRANSACTION
126
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã phòng ban chưa tồn tại trên hệ thống: '+@Error ErrorDesc
127
		RETURN '-1'
128
END
129
IF(EXISTS(SELECT COST_ID FROM @TableTmp WHERE (COST_ID IS NULL OR COST_ID='') AND COST_CODE IS NOT NULL AND COST_CODE <>''))
130
BEGIN
131

    
132
		SET @Error=(select STUFF( (select ';' + COST_CODE from @TableTmp  WHERE COST_ID IS NULL OR COST_ID='' FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))	
133
		
134
		ROLLBACK TRANSACTION
135
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã đơn vị đầu mối chưa tồn tại trên hệ thống: '+@Error ErrorDesc
136
		RETURN '-1'
137
END
138

    
139
IF(EXISTS(SELECT PLAN_TYPE_ID FROM @TableTmp WHERE PLAN_TYPE_ID IS NULL OR PLAN_TYPE_ID=''))
140
BEGIN
141

    
142

    
143
		SET @Error=(select STUFF( (select ';' + PLAN_TYPE_CODE from @TableTmp  WHERE PLAN_TYPE_ID IS NULL OR PLAN_TYPE_ID='' FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))	
144

    
145
		ROLLBACK TRANSACTION
146
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã loại ngân sách chưa tồn tại trên hệ thống: '+@Error ErrorDesc
147
		RETURN '-1'
148
END
149

    
150
IF(EXISTS(SELECT GOOD_ID FROM @TableTmp WHERE GOOD_ID IS NULL OR GOOD_ID=''))
151
BEGIN
152

    
153
		SET @Error=(select STUFF( (select ';' + GOOD_CODE from @TableTmp  WHERE GOOD_ID IS NULL OR GOOD_ID='' FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))	
154

    
155
		ROLLBACK TRANSACTION
156
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã hạng mục ngân sách chưa tồn tại trên hệ thống: '+@Error ErrorDesc
157
		RETURN '-1'
158
END
159
--Validate hạn mục
160
--IF(EXISTS(SELECT * FROM dbo.PL_MASTER WHERE [YEAR]= CAST(@p_IMP_YEAR AS VARCHAR(4))))
161
--	IF(EXISTS(
162
--		SELECT DT.TRADE_ID FROM dbo.PL_MASTER PM LEFT JOIN dbo.PL_TRADEDETAIL DT ON PM.PLAN_ID=DT.PLAN_ID
163
--		WHERE EXISTS( SELECT Tmp.GOOD_ID FROM @TableTmp Tmp 
164
--							WHERE (Tmp.IMP_YEAR=PM.[YEAR] AND Tmp.PLAN_TYPE_ID=PM.PLAN_TYPE_ID AND Tmp.COST_ID=PM.COST_ID 
165
--							AND Tmp.BRANCH_ID=PM.BRANCH_ID 
166
--							AND Tmp.DEP_ID=PM.DEPT_ID 
167
--							AND Tmp.GOOD_ID=DT.GOODS_ID) 
168
--							AND( (Tmp.QTY < ISNULL(DT.QUANTITY_ETM,0) 
169
--							AND  ISNULL(DT.QUANTITY_ETM,0) >0) 
170
--							OR (Tmp.TOTAL_AMT< (ISNULL(DT.AMT_ETM,0) + ISNULL(DT.AMT_TF,0) - ISNULL(DT.AMT_RECEIVE_TF,0)) 
171
--							AND (ISNULL(DT.AMT_ETM,0) + ISNULL(DT.AMT_TF,0) - ISNULL(DT.AMT_RECEIVE_TF,0)) >0) )
172
--							) OR (NOT EXISTS(SELECT Tmp.GOOD_ID FROM @TableTmp Tmp WHERE (Tmp.IMP_YEAR=PM.[YEAR] 
173
--							AND Tmp.PLAN_TYPE_ID=PM.PLAN_TYPE_ID 
174
--							AND Tmp.COST_ID=PM.COST_ID AND Tmp.BRANCH_ID=PM.BRANCH_ID 
175
--							AND Tmp.DEP_ID=PM.DEPT_ID AND Tmp.GOOD_ID=DT.GOODS_ID) ) 
176
--							AND( ISNULL(DT.QUANTITY_ETM,0) > 0 OR (ISNULL(DT.AMT_ETM,0) + ISNULL(DT.AMT_TF,0) - ISNULL(DT.AMT_RECEIVE_TF,0)) >0))))
177
--	BEGIN
178
--		ROLLBACK TRANSACTION
179
--		SELECT '-1' as Result, '' IMPORT_ID, N'Hạn mục chỉnh sửa đã sử dụng vượt hạn mức chỉnh sửa' ErrorDesc
180
--		RETURN '-1'
181
--	END
182

    
183

    
184

    
185
DECLARE @l_IMPORT_ID VARCHAR(15)
186
IF(EXISTS(SELECT IMPORT_ID FROM dbo.PL_IMPORT WHERE IMP_YEAR=@p_IMP_YEAR ))
187
BEGIN
188
	SET @l_IMPORT_ID=(SELECT IMPORT_ID FROM PL_IMPORT WHERE IMP_YEAR=@p_IMP_YEAR )
189
	UPDATE dbo.PL_IMPORT_DT SET IS_UPDATE=0  WHERE IMPORT_ID= @l_IMPORT_ID
190
	UPDATE dbo.PL_IMPORT SET PLAN_CODE=@p_PLAN_CODE,IMP_NAME=@p_IMP_NAME,FILE_NAME=@p_FILE_NAME,IMP_YEAR=@p_IMP_YEAR,IMP_QTY=@p_TOTAL_QTY,
191
	IMP_ATM=@p_TOTAL_ATM,NOTES=@p_NOTES,EDITER_ID=@p_MAKER_ID,EDIT_DT= CONVERT(DATETIME, @p_CREATE_DT,103),CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME,@p_APPROVE_DT,103),AUTH_STATUS=@p_AUTH_STATUS,IS_UPDATE=0
192
	WHERE IMPORT_ID=@l_IMPORT_ID
193
END
194
ELSE
195
BEGIN
196
		EXEC SYS_CodeMasters_Gen 'PL_IMPORT', @l_IMPORT_ID out
197
		IF @l_IMPORT_ID='' OR @l_IMPORT_ID IS NULL GOTO ABORT
198

    
199

    
200
		INSERT INTO dbo.PL_IMPORT
201
		(
202
		    IMPORT_ID,
203
			PLAN_CODE,
204
		    IMP_NAME,
205
		    FILE_NAME,
206
		    IMP_YEAR,
207
		    IMP_QTY,
208
		    IMP_ATM,
209
		    NOTES,
210
		    RECORD_STATUS,
211
		    AUTH_STATUS,
212
		    MAKER_ID,
213
		    CREATE_DT,
214
		    EDITER_ID,
215
		    EDIT_DT,
216
		    CHECKER_ID,
217
		    APPROVE_DT,IS_UPDATE
218
		)
219
		VALUES
220
		(   @l_IMPORT_ID,        -- IMPORT_ID - varchar(20)
221
		    @l_IMPORT_ID,
222
			@p_IMP_NAME,       -- IMP_NAME - nvarchar(500)
223
		    @p_FILE_NAME,       -- FILE_NAME - nvarchar(200)
224
		    --@p_IMP_YEAR,         -- IMP_YEAR - int -- LUCTV 06052021 ẨN ĐI, THAY BẰNG PARAMATER MỚI
225
			CONVERT(INT,(SELECT TOP 1 IMP_YEAR FROM @TableTmp WHERE ISNULL(IMP_YEAR,'') <>'')),-- LUCTV 06 - 05 - 2021: IMPORT NGÀY THI LAY NGÀY NAM TRONG FILE IMPORT
226
		    @p_TOTAL_QTY,      -- IMP_QTY - numeric(18, 0)
227
		    @p_TOTAL_ATM,      -- IMP_ATM - numeric(18, 2)
228
		    @p_NOTES,       -- NOTES - nvarchar(1000)
229
		    @p_RECORD_STATUS,        -- RECORD_STATUS - varchar(1)
230
		    @p_AUTH_STATUS,        -- AUTH_STATUS - varchar(1)
231
		    @p_MAKER_ID,        -- MAKER_ID - varchar(15)
232
		    CONVERT(DATETIME,@p_CREATE_DT,103), -- CREATE_DT - datetime
233
		    @p_MAKER_ID,        -- EDITER_ID - varchar(15)
234
		    CONVERT(DATETIME,@p_CREATE_DT,103), -- EDIT_DT - datetime
235
		    @p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
236
		    CONVERT(DATETIME,@p_APPROVE_DT,103),0  -- APPROVE_DT - datetime
237
		    )
238
END
239
	DECLARE ImportDT CURSOR FOR
240
	SELECT IMP_YEAR,
241
           PLAN_TYPE_ID,
242
           PLAN_TYPE_CODE,
243
           PLAN_TYPE_NAME,
244
           COST_ID,
245
           COST_CODE,
246
           COST_NAME,
247
           BRANCH_ID,
248
           BRANCH_CODE,
249
           BRANCH_NAME,
250
           DEP_ID,
251
			DEP_CODE,
252
			DEP_NAME,
253
           GOOD_ID,
254
           GOOD_CODE,
255
           GOOD_NAME,
256
           QTY,
257
           TOTAL_AMT,
258
           NOTES,REF_CODE,REF_NAME,AMT_EMT,AMT_EXE,AMT_TF,AMT_RECEIVE_TF FROM @TableTmp
259
	OPEN ImportDT
260

    
261

    
262

    
263

    
264
	DECLARE 
265
		@IMP_YEAR VARCHAR(4),
266
		@PLAN_TYPE_ID VARCHAR(15),
267
		@PLAN_TYPE_CODE VARCHAR(15),
268
		@PLAN_TYPE_NAME NVARCHAR(200), 
269
		@COST_ID VARCHAR(15),
270
		@COST_CODE VARCHAR(15),
271
		@COST_NAME NVARCHAR(200),
272
		@BRANCH_ID VARCHAR(15),
273
		@BRANCH_CODE VARCHAR(15),
274
		@BRANCH_NAME NVARCHAR(200),
275
		@DEP_ID	varchar(15),
276
		@DEP_CODE VARCHAR(15),
277
		@DEP_NAME NVARCHAR(200),
278
		@REF_ID INT,
279
		@REF_CODE VARCHAR(20),
280
		@REF_NAME NVARCHAR(200),
281
		@GOOD_ID varchar(15),
282
		@GODD_CODE VARCHAR(20),
283
		@GOOD_NAME NVARCHAR(200),@QTY INT,@TOTAL_AMT DECIMAL(18,2),@NOTES NVARCHAR(1000),@AMT_EMT DECIMAL(18,2),
284
		@AMT_EXE DECIMAL(18,2),
285
		@AMT_TF DECIMAL(18,2),
286
		@AMT_RECEIVE_TF DECIMAL(18,2)
287

    
288
	,@IMP_LOG_CODE VARCHAR(15)
289
	EXEC SYS_CodeMasters_Gen 'IMP_LOG_CODE', @IMP_LOG_CODE out
290
	IF @IMP_LOG_CODE='' OR @IMP_LOG_CODE IS NULL GOTO ABORT		
291

    
292

    
293
	DECLARE @count int = 1
294

    
295
	FETCH NEXT FROM ImportDT INTO @IMP_YEAR, @PLAN_TYPE_ID, @PLAN_TYPE_CODE,@PLAN_TYPE_NAME,@COST_ID,@COST_CODE,@COST_NAME,@BRANCH_ID,@BRANCH_CODE,
296
	@BRANCH_NAME,@DEP_ID,@DEP_CODE,@DEP_NAME,@GOOD_ID,@GODD_CODE,@GOOD_NAME,@QTY,@TOTAL_AMT,@NOTES,@REF_CODE,@REF_NAME,@AMT_EMT,@AMT_EXE,@AMT_TF,@AMT_RECEIVE_TF
297
	
298

    
299
	WHILE @@FETCH_STATUS = 0	
300
	BEGIN	
301

    
302
		DECLARE @l_IMPORTDT_ID VARCHAR(20)
303
		SET @l_IMPORTDT_ID= (SELECT TOP 1 IMP_DT_ID FROM  PL_IMPORT_DT WHERE IMPORT_ID=@l_IMPORT_ID AND ISNULL(PLAN_TYPE_ID,'')=ISNULL(@PLAN_TYPE_ID,'') AND ISNULL(COST_ID,'')=ISNULL(@COST_ID,'') AND BRANCH_ID=@BRANCH_ID AND ISNULL(REF_CODE,'')= ISNULL(@REF_CODE,'')
304
		AND ISNULL(DEP_ID,'')=ISNULL(@DEP_ID,'') AND ISNULL(GOOD_ID,'')=ISNULL(@GOOD_ID,''))
305
		IF(@l_IMPORTDT_ID IS NULL OR @l_IMPORTDT_ID='')
306
		BEGIN
307

    
308
			-- GIANT
309
			IF NOT EXISTS(SELECT * FROM CM_DEPARTMENT A WHERE A.DEP_ID = @DEP_ID AND A.BRANCH_ID = @BRANCH_ID )
310
			BEGIN
311
				SET @Error= N'Dòng: ' + CAST(@count AS VARCHAR(10)) + N' Mã phòng ban ' + @DEP_CODE + N' không thuộc Mã đơn vị thực hiện ' + @BRANCH_CODE
312

    
313
				ROLLBACK TRANSACTION
314
				SELECT '-1' as Result, '' IMPORT_ID, @Error ErrorDesc
315
				RETURN '-1'
316
			END
317

    
318
			SET @count = @count + 1
319

    
320
			EXEC SYS_CodeMasters_Gen 'IMPORT_DT', @l_IMPORTDT_ID out
321
			IF @l_IMPORTDT_ID='' OR @l_IMPORTDT_ID IS NULL GOTO ABORT				
322
				INSERT INTO dbo.PL_IMPORT_DT
323
				(
324
					IMP_DT_ID,
325
					IMPORT_ID,
326
					PLAN_TYPE_ID,
327
					PLAN_TYPE_CODE,
328
					PLAN_TYPE_NAME,
329
					COST_ID,
330
					COST_CODE,
331
					COST_NAME,
332
					BRANCH_ID,
333
					BRANCH_CODE,
334
					BRANCH_NAME,
335
					DEP_ID,
336
					DEP_CODE,
337
					DEP_NAME,
338
					REF_CODE,
339
					REF_NAME,
340
					GOOD_ID,
341
					GOOD_CODE,
342
					GOOD_NAME,
343
					QTY,
344
					TOTAL_AMT,
345
					NOTES,
346
					IMP_YEAR,
347
					IS_UPDATE
348
				)
349
			VALUES
350
			(		@l_IMPORTDT_ID,   -- IMP_DT_ID - varchar(20)
351
					@l_IMPORT_ID,   -- IMPORT_ID - varchar(20)
352
					@PLAN_TYPE_ID, @PLAN_TYPE_CODE,@PLAN_TYPE_NAME,@COST_ID,@COST_CODE,@COST_NAME,@BRANCH_ID,@BRANCH_CODE,
353
					@BRANCH_NAME,@DEP_ID,@DEP_CODE,@DEP_NAME,@REF_CODE,@REF_NAME,@GOOD_ID,@GODD_CODE,@GOOD_NAME,@QTY,@TOTAL_AMT,@NOTES,@IMP_YEAR,1
354
			 )
355

    
356
		END
357
	
358
		ELSE
359
		BEGIN
360
			UPDATE dbo.PL_IMPORT_DT SET QTY=@QTY,TOTAL_AMT=@TOTAL_AMT,REF_NAME=@REF_NAME,IS_UPDATE=1
361
			WHERE IMP_DT_ID=@l_IMPORTDT_ID
362
		END
363
		  INSERT INTO dbo.PL_IMPORT_LOG
364
		  (
365
		    IMP_LOG_CODE,
366
		    IMP_ID,
367
		    FILE_NAME,
368
		    IMP_YEAR,
369
		    NOTES,
370
		    RECORD_STATUS,
371
		    AUTH_STATUS,
372
		    MAKER_ID,
373
		    CREATE_DT,
374
		    EDITER_ID,
375
		    EDIT_DT,
376
		    CHECKER_ID,
377
		    APPROVE_DT,
378
			PLAN_TYPE_ID,
379
			PLAN_TYPE_CODE,
380
			PLAN_TYPE_NAME,
381
		    COST_ID,
382
			COST_CODE,
383
			COST_NAME,
384
		    BRANCH_ID,
385
			BRANCH_CODE,
386
			BRANCH_NAME,
387
		    DEP_ID,
388
			DEP_CODE,
389
			DEP_NAME,
390
			REF_CODE,
391
			REF_NAME,
392
		    GOOD_ID,
393
			GOOD_CODE,
394
			GOOD_NAME,
395
		      QTY,
396
		      TOTAL_AMT
397
		  )
398
		  VALUES
399
		  (   
400
			  @IMP_LOG_CODE,
401
		      @l_IMPORT_ID,        -- IMP_ID_OLD - varchar(20)
402
		      @p_FILE_NAME,       -- FILE_NAME - nvarchar(200)
403
		      @p_IMP_YEAR,         -- IMP_YEAR - int
404
		      @p_NOTES,       -- NOTES - nvarchar(1000)
405
		      @p_RECORD_STATUS,        -- RECORD_STATUS - varchar(1)
406
		      @p_AUTH_STATUS,        -- AUTH_STATUS - varchar(1)
407
		      @p_MAKER_ID,        -- MAKER_ID - varchar(15)
408
		      CONVERT(DATETIME,@p_CREATE_DT,103), -- CREATE_DT - datetime
409
			  @p_MAKER_ID,        -- EDITER_ID - varchar(15)
410
		      CONVERT(DATETIME,@p_CREATE_DT,103), -- EDIT_DT - datetime
411
		      @p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
412
		      CONVERT(DATETIME, @p_APPROVE_DT,103),  -- APPROVE_DT - datetime
413
		      @PLAN_TYPE_ID, @PLAN_TYPE_CODE,@PLAN_TYPE_NAME,@COST_ID,@COST_CODE,@COST_NAME,@BRANCH_ID,@BRANCH_CODE,
414
	        @BRANCH_NAME,@DEP_ID,@DEP_CODE,@DEP_NAME,@REF_CODE,@REF_NAME,@GOOD_ID,@GODD_CODE,@GOOD_NAME,
415
		      @QTY,    -- QTY - int
416
		      @TOTAL_AMT -- TOTAL_AMT - numeric(18, 2)
417
		  )
418
		  	
419
		  	
420
	
421
		IF @@Error <> 0 GOTO ABORT	
422
	
423
		FETCH NEXT FROM ImportDT INTO  @IMP_YEAR, @PLAN_TYPE_ID, @PLAN_TYPE_CODE,@PLAN_TYPE_NAME,@COST_ID,@COST_CODE,@COST_NAME,@BRANCH_ID,@BRANCH_CODE,
424
	@BRANCH_NAME,@DEP_ID,@DEP_CODE,@DEP_NAME,@GOOD_ID,@GODD_CODE,@GOOD_NAME,@QTY,@TOTAL_AMT,@NOTES,@REF_CODE,@REF_NAME,@AMT_EMT,@AMT_EXE,@AMT_TF,@AMT_RECEIVE_TF
425
	
426
	END
427
	CLOSE ImportDT
428
	DEALLOCATE ImportDT
429
	SET @p_TOTAL_ATM=(SELECT SUM(ISNULL(TOTAL_AMT,0)) FROM dbo.PL_IMPORT_DT WHERE IMPORT_ID=@l_IMPORT_ID)
430
	SELECT @p_TOTAL_QTY=(SELECT SUM(ISNULL(QTY,0)) FROM dbo.PL_IMPORT_DT WHERE IMPORT_ID=@l_IMPORT_ID)
431
	UPDATE dbo.PL_IMPORT SET IMP_QTY=@p_TOTAL_QTY,IMP_ATM=@p_TOTAL_ATM WHERE IMPORT_ID=@l_IMPORT_ID
432

    
433
		IF @@Error <> 0 GOTO ABORT
434
COMMIT TRANSACTION
435
SELECT '0' as Result, @l_IMPORT_ID  IMPORT_ID, '' ErrorDesc
436
RETURN '0'
437
ABORT:
438
BEGIN
439
		ROLLBACK TRANSACTION
440
		SELECT '-1' as Result, '' IMPORT_ID, '' ErrorDesc
441
		RETURN '-1'
442
End
443

    
444

    
445

    
446

    
447

    
448