Project

General

Profile

PL_IMPORT_Ins.txt

Truong Nguyen Vu, 11/25/2020 01:38 PM

 
1

    
2
ALTER PROCEDURE [dbo].[PL_IMPORT_Ins]
3
@p_PLAN_CODE VARCHAR(20),
4
@p_IMP_YEAR	INT  = NULL,
5
@p_IMP_NAME NVARCHAR(200),
6
@p_FILE_NAME	NVARCHAR(200)  = NULL,
7
@p_TOTAL_QTY	NUMERIC(18,0)  = NULL,
8
@p_TOTAL_ATM	NUMERIC(18,0)  = NULL,
9
@p_NOTES	nvarchar(1000)  = NULL,
10
@p_RECORD_STATUS	varchar(1)  = NULL,
11
@p_MAKER_ID	varchar(20)  = NULL,
12
@p_CREATE_DT	DATETIME = NULL,
13
@p_AUTH_STATUS	varchar(50)  = NULL,
14
@p_CHECKER_ID	varchar(20)  = NULL,
15
@p_APPROVE_DT	DATETIME = NULL,
16
@p_XMLData XML=NULL
17
AS
18
BEGIN TRANSACTION
19

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

    
89
DECLARE @Error NVARCHAR(MAX)
90
--- Validate dữ liệu
91
IF(EXISTS(SELECT BRANCH_ID FROM @TableTmp WHERE BRANCH_ID IS NULL OR BRANCH_ID=''))
92
BEGIN
93

    
94
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, ''))	
95
	
96

    
97
		ROLLBACK TRANSACTION
98
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã đơn vị chưa tồn tại trên hệ thống: '+ @Error ErrorDesc
99
		RETURN '-1'
100

    
101

    
102

    
103
END
104

    
105
IF(EXISTS(SELECT DEP_ID FROM @TableTmp WHERE DEP_ID IS NULL OR DEP_ID=''))
106
BEGIN
107

    
108
		
109
		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, ''))
110

    
111
		ROLLBACK TRANSACTION
112
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã phòng ban chưa tồn tại trên hệ thống: '+@Error ErrorDesc
113
		RETURN '-1'
114
END
115

    
116
IF(EXISTS(SELECT COST_ID FROM @TableTmp WHERE (COST_ID IS NULL OR COST_ID='') AND COST_CODE IS NOT NULL AND COST_CODE <>''))
117
BEGIN
118

    
119
			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, ''))	
120
		
121
		ROLLBACK TRANSACTION
122
		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
123
		RETURN '-1'
124
END
125

    
126
IF(EXISTS(SELECT PLAN_TYPE_ID FROM @TableTmp WHERE PLAN_TYPE_ID IS NULL OR PLAN_TYPE_ID=''))
127
BEGIN
128

    
129

    
130
		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, ''))	
131

    
132
		ROLLBACK TRANSACTION
133
		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
134
		RETURN '-1'
135
END
136

    
137
IF(EXISTS(SELECT GOOD_ID FROM @TableTmp WHERE GOOD_ID IS NULL OR GOOD_ID=''))
138
BEGIN
139

    
140
		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, 2, ''))	
141

    
142
		ROLLBACK TRANSACTION
143
		SELECT '-1' as Result, '' IMPORT_ID, N'Mã hạn mục chưa tồn tại trên hệ thống: '+@Error ErrorDesc
144
		RETURN '-1'
145
END
146

    
147

    
148
--Validate hạn mục
149
IF(EXISTS(SELECT * FROM dbo.PL_MASTER WHERE YEAR= CAST(@p_IMP_YEAR AS VARCHAR(4))))
150
IF(EXISTS(
151
SELECT DT.TRADE_ID FROM dbo.PL_MASTER PM 
152
LEFT JOIN dbo.PL_TRADEDETAIL DT ON PM.PLAN_ID=DT.PLAN_ID
153
WHERE EXISTS(
154
	SELECT Tmp.GOOD_ID FROM @TableTmp Tmp WHERE (Tmp.IMP_YEAR=PM.YEAR AND Tmp.PLAN_TYPE_ID=PM.PLAN_TYPE_ID 
155
									AND Tmp.COST_ID=PM.COST_ID AND Tmp.BRANCH_ID=PM.BRANCH_ID 
156
									AND Tmp.DEP_ID=PM.DEPT_ID AND Tmp.GOOD_ID=DT.GOODS_ID) AND( (Tmp.QTY < ISNULL(DT.QUANTITY_ETM,0) AND  ISNULL(DT.QUANTITY_ETM,0) >0) OR (Tmp.TOTAL_AMT< (ISNULL(DT.AMT_ETM,0) + ISNULL(DT.AMT_TF,0) - ISNULL(DT.AMT_RECEIVE_TF,0)) AND (ISNULL(DT.AMT_ETM,0) + ISNULL(DT.AMT_TF,0) - ISNULL(DT.AMT_RECEIVE_TF,0)) >0) )
157
 ) OR (NOT EXISTS(SELECT Tmp.GOOD_ID FROM @TableTmp Tmp WHERE (Tmp.IMP_YEAR=PM.YEAR AND Tmp.PLAN_TYPE_ID=PM.PLAN_TYPE_ID 
158
									AND Tmp.COST_ID=PM.COST_ID AND Tmp.BRANCH_ID=PM.BRANCH_ID 
159
									AND Tmp.DEP_ID=PM.DEPT_ID AND Tmp.GOOD_ID=DT.GOODS_ID) ) 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)
160
)))
161
BEGIN
162

    
163
		ROLLBACK TRANSACTION
164
		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
165
		RETURN '-1'
166
END
167

    
168

    
169
DECLARE @l_IMPORT_ID VARCHAR(15)
170
IF(EXISTS(SELECT IMPORT_ID FROM dbo.PL_IMPORT WHERE IMP_YEAR=@p_IMP_YEAR ))
171
BEGIN
172
	SET @l_IMPORT_ID=(SELECT IMPORT_ID FROM PL_IMPORT WHERE IMP_YEAR=@p_IMP_YEAR )
173
	UPDATE dbo.PL_IMPORT_DT SET IS_UPDATE=0  WHERE IMPORT_ID= @l_IMPORT_ID
174
	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,
175
	IMP_ATM=@p_TOTAL_ATM,NOTES=@p_NOTES,EDITER_ID=@p_MAKER_ID,EDIT_DT= CAST(@p_CREATE_DT AS DATE),CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CAST(@p_APPROVE_DT AS DATE),AUTH_STATUS=@p_AUTH_STATUS,IS_UPDATE=0
176
	WHERE IMPORT_ID=@l_IMPORT_ID
177
END
178
ELSE
179
BEGIN
180
		EXEC SYS_CodeMasters_Gen 'PL_IMPORT', @l_IMPORT_ID out
181
		IF @l_IMPORT_ID='' OR @l_IMPORT_ID IS NULL GOTO ABORT
182

    
183
		INSERT INTO dbo.PL_IMPORT
184
		(
185
		    IMPORT_ID,
186
			PLAN_CODE,
187
		    IMP_NAME,
188
		    FILE_NAME,
189
		    IMP_YEAR,
190
		    IMP_QTY,
191
		    IMP_ATM,
192
		    NOTES,
193
		    RECORD_STATUS,
194
		    AUTH_STATUS,
195
		    MAKER_ID,
196
		    CREATE_DT,
197
		    EDITER_ID,
198
		    EDIT_DT,
199
		    CHECKER_ID,
200
		    APPROVE_DT,IS_UPDATE
201
		)
202
		VALUES
203
		(   @l_IMPORT_ID,        -- IMPORT_ID - varchar(20)
204
		    @p_PLAN_CODE,
205
			@p_IMP_NAME,       -- IMP_NAME - nvarchar(500)
206
		    @p_FILE_NAME,       -- FILE_NAME - nvarchar(200)
207
		    @p_IMP_YEAR,         -- IMP_YEAR - int
208
		    @p_TOTAL_QTY,      -- IMP_QTY - numeric(18, 0)
209
		    @p_TOTAL_ATM,      -- IMP_ATM - numeric(18, 2)
210
		    @p_NOTES,       -- NOTES - nvarchar(1000)
211
		    @p_RECORD_STATUS,        -- RECORD_STATUS - varchar(1)
212
		    @p_AUTH_STATUS,        -- AUTH_STATUS - varchar(1)
213
		    @p_MAKER_ID,        -- MAKER_ID - varchar(15)
214
		    @p_CREATE_DT, -- CREATE_DT - datetime
215
		    @p_MAKER_ID,        -- EDITER_ID - varchar(15)
216
		    CAST(@p_CREATE_DT AS DATE), -- EDIT_DT - datetime
217
		    @p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
218
		    CAST(@p_APPROVE_DT AS DATE),0  -- APPROVE_DT - datetime
219
		    )
220
END
221

    
222

    
223
	DECLARE ImportDT CURSOR FOR
224
	SELECT IMP_YEAR,
225
           PLAN_TYPE_ID,
226
           PLAN_TYPE_CODE,
227
           PLAN_TYPE_NAME,
228
           COST_ID,
229
           COST_CODE,
230
           COST_NAME,
231
           BRANCH_ID,
232
           BRANCH_CODE,
233
           BRANCH_NAME,
234
           DEP_ID,
235
			DEP_CODE,
236
			DEP_NAME,
237
           GOOD_ID,
238
           GOOD_CODE,
239
           GOOD_NAME,
240
           QTY,
241
           TOTAL_AMT,
242
           NOTES,REF_CODE,REF_NAME,AMT_EMT,AMT_EXE,AMT_TF,AMT_RECEIVE_TF FROM @TableTmp
243
	OPEN ImportDT
244

    
245

    
246

    
247

    
248
	DECLARE 
249
	@IMP_YEAR VARCHAR(4),
250
	@PLAN_TYPE_ID VARCHAR(15),
251
	@PLAN_TYPE_CODE VARCHAR(15),
252
	@PLAN_TYPE_NAME NVARCHAR(200), 
253
	@COST_ID VARCHAR(15),
254
	@COST_CODE VARCHAR(15),
255
	@COST_NAME NVARCHAR(200),
256
	@BRANCH_ID VARCHAR(15),
257
	@BRANCH_CODE VARCHAR(15),
258
	@BRANCH_NAME NVARCHAR(200),
259
	@DEP_ID	varchar(15),
260
	@DEP_CODE VARCHAR(15),
261
	@DEP_NAME NVARCHAR(200),
262
	@REF_ID INT,
263
	@REF_CODE VARCHAR(20),
264
	@REF_NAME NVARCHAR(200),
265
	@GOOD_ID varchar(15),
266
	@GODD_CODE VARCHAR(15),
267
	@GOOD_NAME NVARCHAR(200),@QTY INT,@TOTAL_AMT DECIMAL(18,2),@NOTES NVARCHAR(1000),@AMT_EMT DECIMAL(18,2),
268
	@AMT_EXE DECIMAL(18,2),
269
	@AMT_TF DECIMAL(18,2),
270
	@AMT_RECEIVE_TF DECIMAL(18,2)
271

    
272
	,@IMP_LOG_CODE VARCHAR(15)
273
	EXEC SYS_CodeMasters_Gen 'IMP_LOG_CODE', @IMP_LOG_CODE out
274
	IF @IMP_LOG_CODE='' OR @IMP_LOG_CODE IS NULL GOTO ABORT		
275

    
276
	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,
277
	@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
278
	
279
	WHILE @@FETCH_STATUS = 0	
280
	BEGIN			
281
		
282
	
283
			
284

    
285
		DECLARE @l_IMPORTDT_ID VARCHAR(20)
286

    
287
		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,'')
288
		AND ISNULL(DEP_ID,'')=ISNULL(@DEP_ID,'') AND ISNULL(GOOD_ID,'')=ISNULL(@GOOD_ID,''))
289
		IF(@l_IMPORTDT_ID IS NULL OR @l_IMPORTDT_ID='')
290
		BEGIN
291
			EXEC SYS_CodeMasters_Gen 'IMPORT_DT', @l_IMPORTDT_ID out
292
			IF @l_IMPORTDT_ID='' OR @l_IMPORTDT_ID IS NULL GOTO ABORT	
293
				INSERT INTO dbo.PL_IMPORT_DT
294
			(
295
		    IMP_DT_ID,
296
		    IMPORT_ID,
297
		    PLAN_TYPE_ID,
298
			PLAN_TYPE_CODE,
299
			PLAN_TYPE_NAME,
300
		    COST_ID,
301
			COST_CODE,
302
			COST_NAME,
303
		    BRANCH_ID,
304
			BRANCH_CODE,
305
			BRANCH_NAME,
306
		    DEP_ID,
307
			DEP_CODE,
308
			DEP_NAME,
309
			REF_CODE,
310
			REF_NAME,
311
		    GOOD_ID,
312
			GOOD_CODE,
313
			GOOD_NAME,
314
		    QTY,
315
		    TOTAL_AMT,
316
		    NOTES,
317
			IMP_YEAR,
318
			IS_UPDATE
319
		)
320
		VALUES
321
		(   @l_IMPORTDT_ID,   -- IMP_DT_ID - varchar(20)
322
		    @l_IMPORT_ID,   -- IMPORT_ID - varchar(20)
323
		   @PLAN_TYPE_ID, @PLAN_TYPE_CODE,@PLAN_TYPE_NAME,@COST_ID,@COST_CODE,@COST_NAME,@BRANCH_ID,@BRANCH_CODE,
324
	        @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
325
		  )
326
		END
327
	
328
		ELSE
329
		BEGIN
330
			UPDATE dbo.PL_IMPORT_DT SET QTY=@QTY,TOTAL_AMT=@TOTAL_AMT,REF_NAME=@REF_NAME,IS_UPDATE=1
331
			WHERE IMP_DT_ID=@l_IMPORTDT_ID
332
		END
333
		  INSERT INTO dbo.PL_IMPORT_LOG
334
		  (
335
		     IMP_LOG_CODE,
336
		      IMP_ID,
337
		      FILE_NAME,
338
		      IMP_YEAR,
339
		      NOTES,
340
		    RECORD_STATUS,
341
		    AUTH_STATUS,
342
		    MAKER_ID,
343
		    CREATE_DT,
344
		    EDITER_ID,
345
		    EDIT_DT,
346
		    CHECKER_ID,
347
		    APPROVE_DT,
348
			PLAN_TYPE_ID,
349
			PLAN_TYPE_CODE,
350
			PLAN_TYPE_NAME,
351
		    COST_ID,
352
			COST_CODE,
353
			COST_NAME,
354
		    BRANCH_ID,
355
			BRANCH_CODE,
356
			BRANCH_NAME,
357
		    DEP_ID,
358
			DEP_CODE,
359
			DEP_NAME,
360
			REF_CODE,
361
			REF_NAME,
362
		    GOOD_ID,
363
			GOOD_CODE,
364
			GOOD_NAME,
365
		      QTY,
366
		      TOTAL_AMT
367
		  )
368
		  VALUES
369
		  (   
370
				@IMP_LOG_CODE,
371
		      @l_IMPORT_ID,        -- IMP_ID_OLD - varchar(20)
372
		      @p_FILE_NAME,       -- FILE_NAME - nvarchar(200)
373
		      @p_IMP_YEAR,         -- IMP_YEAR - int
374
		      @p_NOTES,       -- NOTES - nvarchar(1000)
375
		      @p_RECORD_STATUS,        -- RECORD_STATUS - varchar(1)
376
		      @p_AUTH_STATUS,        -- AUTH_STATUS - varchar(1)
377
		      @p_MAKER_ID,        -- MAKER_ID - varchar(15)
378
		      @p_CREATE_DT, -- CREATE_DT - datetime
379
			  @p_MAKER_ID,        -- EDITER_ID - varchar(15)
380
		      CAST(@p_CREATE_DT AS DATE), -- EDIT_DT - datetime
381
		      @p_CHECKER_ID,        -- CHECKER_ID - varchar(15)
382
		      CAST(@p_APPROVE_DT AS DATE),  -- APPROVE_DT - datetime
383
		      @PLAN_TYPE_ID, @PLAN_TYPE_CODE,@PLAN_TYPE_NAME,@COST_ID,@COST_CODE,@COST_NAME,@BRANCH_ID,@BRANCH_CODE,
384
	        @BRANCH_NAME,@DEP_ID,@DEP_CODE,@DEP_NAME,@REF_CODE,@REF_NAME,@GOOD_ID,@GODD_CODE,@GOOD_NAME,
385
		      @QTY,    -- QTY - int
386
		      @TOTAL_AMT -- TOTAL_AMT - numeric(18, 2)
387
		      )
388
		  	
389
		  	
390
	
391
		IF @@Error <> 0 GOTO ABORT	
392
	
393
		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,
394
	@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
395
	
396
	END
397
	CLOSE ImportDT
398
	DEALLOCATE ImportDT
399
	SET @p_TOTAL_ATM=(SELECT SUM(ISNULL(TOTAL_AMT,0)) FROM dbo.PL_IMPORT_DT WHERE IMPORT_ID=@l_IMPORT_ID)
400
	SELECT @p_TOTAL_QTY=(SELECT SUM(ISNULL(QTY,0)) FROM dbo.PL_IMPORT_DT WHERE IMPORT_ID=@l_IMPORT_ID)
401
	UPDATE dbo.PL_IMPORT SET IMP_QTY=@p_TOTAL_QTY,IMP_ATM=@p_TOTAL_ATM WHERE IMPORT_ID=@l_IMPORT_ID
402

    
403
		IF @@Error <> 0 GOTO ABORT
404
COMMIT TRANSACTION
405
SELECT '0' as Result, @l_IMPORT_ID  IMPORT_ID, '' ErrorDesc
406
RETURN '0'
407
ABORT:
408
BEGIN
409
		ROLLBACK TRANSACTION
410
		SELECT '-1' as Result, '' IMPORT_ID, '' ErrorDesc
411
		RETURN '-1'
412
End
413

    
414

    
415

    
416

    
417

    
418