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
|
|