Project

General

Profile

CM_HH_UPD.txt

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

 
1
ALTER PROCEDURE [dbo].[CM_HANGHOA_Upd]
2
@p_HH_ID	varchar(15) = null ,
3
@p_HH_CODE	varchar(150) = NULL ,
4
@p_HH_NAME	nvarchar(200) = NULL ,
5
@p_HH_TYPE_ID	varchar(15) = NULL ,
6
@p_DESCRIPTION	nvarchar(2000) = NULL ,
7
@p_SUP_ID	varchar(15) = NULL ,
8
@p_PRICE	decimal(17) = NULL ,
9
@p_UNIT_ID	varchar(15) = NULL ,
10
@p_NOTES	nvarchar(1000) = NULL ,
11
@p_RECORD_STATUS	varchar(1) = NULL ,
12
@p_MAKER_ID	varchar(12) = NULL ,
13
@p_CREATE_DT	VARCHAR(20) = NULL,
14
@p_AUTH_STATUS	varchar(50) = NULL ,
15
@p_CHECKER_ID	varchar(12) = NULL ,
16
@p_APPROVE_DT	VARCHAR(20) = NULL,
17
@p_GD_ID	varchar(15) = null,
18
@p_GROUP_ID_TTCT varchar(15)  = NULL,
19
@p_GROUP_ID_CDT varchar(15)  = NULL,
20
@p_DVCM_ID varchar(15)  = NULL
21

    
22
AS
23
BEGIN TRANSACTION
24
		
25
		declare @OLD_DVCM_ID NVARCHAR(15) = NULL
26
		SELECT @OLD_DVCM_ID = DVCM_ID FROM CM_HANGHOA_DVCM WHERE HH_ID = @p_HH_ID
27

    
28
		--kIEM TRA MA LA DUY NHAT
29
		IF EXISTS (SELECT * FROM CM_HANGHOA WHERE HH_CODE = @p_HH_CODE AND HH_ID <> @p_HH_ID AND RECORD_STATUS ='1')
30
		BEGIN
31
			ROLLBACK TRANSACTION
32
			SELECT -1 as Result, '' HH_ID, N'Mã hàng hóa: '+ @p_HH_CODE +N' đã tồn tại trong hệ thống' ErrorDesc
33
			RETURN -1
34
		END
35
		--kIEM TRA MA LA DUY NHAT
36
		IF(@p_HH_CODE IS NULL OR @p_HH_CODE ='')
37
		BEGIN
38
			ROLLBACK TRANSACTION
39
			SELECT -1 as Result, '' HH_ID, N'Mã hàng hóa chưa tự động phát sinh. Vui lòng nhập mã hàng hóa' ErrorDesc
40
			RETURN -1
41
		END
42
		IF(@p_MAKER_ID NOT IN ('vanpt2', 'cuongvd','tuyenlt'))
43
		BEGIN
44
			ROLLBACK TRANSACTION
45
			SELECT -1 as Result, '' HH_ID, N'Bạn không nằm trong danh sách những user được phép thêm mới hàng hóa. Vui lòng liên hệ bộ phận Mua Hàng - Phòng Hành Chính Hội Sở (vanpt2,cuongvd,tuyenlt)' ErrorDesc
46
			RETURN -1
47
		END
48
		IF(@p_GROUP_ID_TTCT IS NULL OR @p_GROUP_ID_TTCT ='')
49
		BEGIN
50
			ROLLBACK TRANSACTION
51
			SELECT -1 as Result, '' HH_ID, N'Thông tin nhóm hạn mức phê duyệt chủ trương không được phép để trống. Đây là thông tin quan trọng cho quy trình phê duyệt chủ trương' ErrorDesc
52
			RETURN -1
53
		END
54
		IF(@p_GROUP_ID_CDT IS NULL OR @p_GROUP_ID_CDT ='')
55
		BEGIN
56
			ROLLBACK TRANSACTION
57
			SELECT -1 as Result, '' HH_ID, N'Thông tin nhóm hạn mức phê duyệt hạn mức chỉ định thầu không được phép để trống. Đây là thông tin quan trọng cho quy trình phê duyệt chủ trương khi mua sắm chỉ định thầu' ErrorDesc
58
			RETURN -1
59
		END
60
		UPDATE CM_HANGHOA SET [HH_CODE] = @p_HH_CODE,[HH_NAME] = @p_HH_NAME,[HH_TYPE_ID] = @p_HH_TYPE_ID,[DESCRIPTION] = @p_DESCRIPTION,[SUP_ID] = @p_SUP_ID,[PRICE] = @p_PRICE,[UNIT_ID] = @p_UNIT_ID,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[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), [GD_ID] = @p_GD_ID
61
		WHERE  HH_ID = @p_HH_ID
62

    
63
		DELETE SYS_HH_GROUP_LIMIT WHERE HH_ID = @p_HH_ID
64
		INSERT INTO SYS_HH_GROUP_LIMIT(HH_ID, GROUP_LIMIT_ID, TYPE_LIMIT)
65
		VALUES (@p_HH_ID, @p_GROUP_ID_TTCT, 'TTCT')
66
		INSERT INTO SYS_HH_GROUP_LIMIT(HH_ID, GROUP_LIMIT_ID, TYPE_LIMIT)
67
		VALUES (@p_HH_ID, @p_GROUP_ID_CDT, 'CDT')
68
		DELETE CM_HANGHOA_DVCM WHERE HH_ID = @p_HH_ID AND DVCM_ID = @OLD_DVCM_ID
69
		INSERT INTO CM_HANGHOA_DVCM(HH_ID, DVCM_ID)
70
		VALUES (@p_HH_ID, @p_DVCM_ID)
71

    
72
		IF @@Error <> 0 GOTO ABORT
73
COMMIT TRANSACTION
74
		SELECT 0 as Result, @p_HH_ID  HH_ID, '' ErrorDesc
75
		RETURN 0
76
ABORT:
77
BEGIN
78
		ROLLBACK TRANSACTION
79
		SELECT -1 as Result, '' HH_ID,	N'Cập nhật thất bại' ErrorDesc
80
		RETURN -1
81
End
82

    
83

    
84