1
|
|
2
|
ALTER PROCEDURE [dbo].[CM_HANGHOA_Upd]
|
3
|
@p_HH_ID varchar(15) = null ,
|
4
|
@p_HH_CODE varchar(15) = NULL ,
|
5
|
@p_HH_NAME nvarchar(200) = NULL ,
|
6
|
@p_HH_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_GD_ID varchar(15) = null,
|
19
|
@p_HHGROUP_GROUP_ID_TTCT varchar(15) = NULL,
|
20
|
@p_HHGROUP_GROUP_ID_CDT varchar(15) = NULL,
|
21
|
@p_DVCM_ID varchar(15) = NULL,
|
22
|
@p_IS_TC varchar(1) = NULL ,
|
23
|
@p_IS_DVKD varchar(1) = NULL ,
|
24
|
@p_IS_CDT varchar(1) = NULL ,
|
25
|
@p_IS_DVCM varchar(1) = NULL
|
26
|
AS
|
27
|
BEGIN TRANSACTION
|
28
|
|
29
|
|
30
|
declare @OLD_DVCM_ID NVARCHAR(15) = NULL
|
31
|
SELECT @OLD_DVCM_ID = DVCM_ID FROM CM_HANGHOA_DVCM WHERE HH_ID = @p_HH_ID
|
32
|
|
33
|
--kIEM TRA MA LA DUY NHAT
|
34
|
--IF EXISTS (SELECT * FROM CM_HANGHOA WHERE HH_CODE = @p_HH_CODE AND HH_ID <> @p_HH_ID AND RECORD_STATUS ='1')
|
35
|
--BEGIN
|
36
|
-- ROLLBACK TRANSACTION
|
37
|
-- 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
|
38
|
-- RETURN -1
|
39
|
--END
|
40
|
--kIEM TRA MA LA DUY NHAT
|
41
|
IF(@p_HH_CODE IS NULL OR @p_HH_CODE ='')
|
42
|
BEGIN
|
43
|
ROLLBACK TRANSACTION
|
44
|
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
|
45
|
RETURN -1
|
46
|
END
|
47
|
IF(@p_MAKER_ID NOT IN ('vanpt2', 'cuongvd','tuyenlt'))
|
48
|
BEGIN
|
49
|
ROLLBACK TRANSACTION
|
50
|
SELECT -1 as Result, '' HH_ID, N'Bạn không nằm trong danh sách những user được phép chỉnh sửa 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ở' ErrorDesc
|
51
|
RETURN -1
|
52
|
END
|
53
|
IF(@p_HHGROUP_GROUP_ID_TTCT IS NULL OR @p_HHGROUP_GROUP_ID_TTCT ='')
|
54
|
BEGIN
|
55
|
ROLLBACK TRANSACTION
|
56
|
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
|
57
|
RETURN -1
|
58
|
END
|
59
|
IF(@p_HHGROUP_GROUP_ID_CDT IS NULL OR @p_HHGROUP_GROUP_ID_CDT ='')
|
60
|
BEGIN
|
61
|
ROLLBACK TRANSACTION
|
62
|
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
|
63
|
RETURN -1
|
64
|
END
|
65
|
------------------BAODNQ 24/10/2022 : K CHO CHỌN DVCM LÀ KHỐI-----------------
|
66
|
IF EXISTS(SELECT * FROM CM_DVDM WHERE DVDM_ID = @p_DVCM_ID AND IS_KHOI = 1)
|
67
|
BEGIN
|
68
|
ROLLBACK TRANSACTION
|
69
|
SELECT -1 as Result, '' HH_ID,
|
70
|
N'Không thể chọn đơn vị chuyên môn là Khối để đi với hàng hóa. Vui lòng chọn đơn vị chuyên môn khác' ErrorDesc
|
71
|
RETURN -1
|
72
|
END
|
73
|
-------------------END BAODNQ------------------------
|
74
|
|
75
|
-----------------BAODNQ 12/1/2023 : HOT FIX TẠM THỜI NẾU MAKER_ID = vanpt2 THÌ UPDATE MAKER_ID = admin----------
|
76
|
IF(@p_MAKER_ID = 'vanpt2')
|
77
|
BEGIN
|
78
|
SET @p_MAKER_ID = 'admin'
|
79
|
END
|
80
|
|
81
|
UPDATE CM_HANGHOA SET [HH_CODE] = @p_HH_CODE,[HH_NAME] = @p_HH_NAME,[HH_TYPE_ID] = @p_HH_TYPE_ID,[DESCRIPTION] = @p_DESCRIPTION,
|
82
|
[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,
|
83
|
@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,
|
84
|
[IS_TC] = @p_IS_TC, [IS_DVKD] = @p_IS_DVKD, [IS_CDT] = @p_IS_CDT,IS_DVCM=@p_IS_DVCM
|
85
|
WHERE HH_ID = @p_HH_ID
|
86
|
|
87
|
DELETE SYS_HH_GROUP_LIMIT WHERE HH_ID = @p_HH_ID
|
88
|
INSERT INTO SYS_HH_GROUP_LIMIT(HH_ID, GROUP_LIMIT_ID, TYPE_LIMIT)
|
89
|
VALUES (@p_HH_ID, @p_HHGROUP_GROUP_ID_TTCT, 'TTCT')
|
90
|
INSERT INTO SYS_HH_GROUP_LIMIT(HH_ID, GROUP_LIMIT_ID, TYPE_LIMIT)
|
91
|
VALUES (@p_HH_ID, @p_HHGROUP_GROUP_ID_CDT, 'CDT')
|
92
|
DELETE CM_HANGHOA_DVCM WHERE HH_ID = @p_HH_ID --AND DVCM_ID = @OLD_DVCM_ID
|
93
|
INSERT INTO CM_HANGHOA_DVCM(HH_ID, DVCM_ID)
|
94
|
VALUES (@p_HH_ID, @p_DVCM_ID)
|
95
|
|
96
|
IF @@Error <> 0 GOTO ABORT
|
97
|
COMMIT TRANSACTION
|
98
|
SELECT 0 as Result, @p_HH_ID HH_ID, '' ErrorDesc
|
99
|
RETURN 0
|
100
|
ABORT:
|
101
|
BEGIN
|
102
|
ROLLBACK TRANSACTION
|
103
|
SELECT -1 as Result, '' HH_ID, N'Cập nhật thất bại' ErrorDesc
|
104
|
RETURN -1
|
105
|
End
|