Project

General

Profile

CM_GOODS_Upd.txt

Luc Tran Van, 02/27/2023 11:38 AM

 
1

    
2
ALTER PROCEDURE dbo.CM_GOODS_Upd
3
@p_GD_ID	varchar(150) = null ,
4
@p_GD_CODE	varchar(150) = NULL ,
5
@p_GD_NAME	nvarchar(200) = NULL ,
6
@p_GD_TYPE_ID	varchar(15) = NULL ,
7
@p_DESCRIPTION	nvarchar(2000) = NULL ,
8
@p_SUP_ID	varchar(15) = NULL ,
9
@p_PRICE	decimal(17) = NULL ,
10
@p_UNIT_ID	varchar(15) = NULL ,
11
@p_NOTES	nvarchar(1000) = NULL ,
12
@p_RECORD_STATUS	varchar(1) = NULL ,
13
@p_MAKER_ID	varchar(12) = NULL ,
14
@p_CREATE_DT	VARCHAR(20) = NULL,
15
@p_AUTH_STATUS	varchar(50) = NULL ,
16
@p_CHECKER_ID	varchar(12) = NULL ,
17
@p_APPROVE_DT	VARCHAR(20) = NULL,
18
@p_DVDM_ID VARCHAR(20) = NULL,
19
@p_MONTHLY_ALLOCATED BIT =NULL
20
AS
21

    
22
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
23
	IF ( EXISTS ( SELECT * FROM CM_GOODS WHERE GD_CODE = @p_GD_CODE AND [GD_ID] != @p_GD_ID AND RECORD_STATUS = '1'))
24
		SET @ERRORSYS = 'CMCD-00001'
25
	IF ( NOT EXISTS ( SELECT * FROM CM_GOODS WHERE [GD_ID] = @p_GD_ID))
26
		SET @ERRORSYS = 'CMC-00001'
27
	IF @ERRORSYS <> '' 
28
	BEGIN
29
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
30
		RETURN '0'
31
	END
32

    
33
BEGIN TRANSACTION
34
		UPDATE CM_GOODS SET [GD_CODE] = @p_GD_CODE,[GD_NAME] = @p_GD_NAME,[GD_TYPE_ID] = @p_GD_TYPE_ID,[DESCRIPTION] = @p_DESCRIPTION,[SUP_ID] = @p_SUP_ID,[PRICE] = @p_PRICE,[UNIT_ID] = @p_UNIT_ID,[NOTES] = @p_NOTES,[RECORD_STATUS] = '1',[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), [DVDM_ID] = @p_DVDM_ID,MONTHLY_ALLOCATED=@p_MONTHLY_ALLOCATED
35
    WHERE  GD_ID= @p_GD_ID
36
		IF @@Error <> 0 GOTO ABORT
37

    
38
    DELETE CM_GOOD_DVDM WHERE GD_ID = @p_GD_ID
39

    
40
    INSERT INTO CM_GOOD_DVDM (GD_ID, DVDM_ID)
41
    VALUES(@p_GD_ID,@p_DVDM_ID)
42
		IF @@Error <> 0 GOTO ABORT
43
COMMIT TRANSACTION
44
		SELECT 0 as Result, @p_GD_ID  GD_ID, '' ErrorDesc
45
		RETURN 0
46
ABORT:
47
BEGIN
48
		ROLLBACK TRANSACTION
49
		SELECT -1 as Result, '' GD_ID, '' ErrorDesc
50
		RETURN -1
51
End
52

    
53