1
|
|
2
|
ALTER PROCEDURE [dbo].[TR_REQUEST_DOC_MOVE_DVCM]
|
3
|
-- Add the parameters for the stored procedure here
|
4
|
@p_REQ_ID VARCHAR(20),
|
5
|
@p_DMMS_ID_NEW VARCHAR(20),
|
6
|
@p_MAKER_ID VARCHAR(20)
|
7
|
AS
|
8
|
BEGIN
|
9
|
IF(@p_REQ_ID IS NOT NULL AND @p_DMMS_ID_NEW IS NOT NULL)
|
10
|
BEGIN
|
11
|
DECLARE @PR_ID INT
|
12
|
DECLARE @PROCESS_ID VARCHAR(20) = (SELECT PROCESS_ID FROM TR_REQUEST_DOC where REQ_ID = @p_REQ_ID)
|
13
|
|
14
|
SET @PR_ID=(SELECT ID FROM dbo.PL_REQUEST_PROCESS WHERE PROCESS_ID='DMMS' AND REQ_ID=@p_REQ_ID AND STATUS='C')
|
15
|
|
16
|
------------BAODNQ 22/11/2022 : NẾU DMMS ĐANG LÀ DVKD THÌ KO DC PHÉP CHUYỂN PHIẾU LÊN DVCM Ở HỘI SỞ------------------
|
17
|
DECLARE @p_BRANCH_CREATE VARCHAR(15) = (SELECT BRANCH_CREATE FROM TR_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)
|
18
|
DECLARE @p_BRANCH_TYPE VARCHAR(20) = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_CREATE)
|
19
|
IF(@p_BRANCH_TYPE <> 'HS')
|
20
|
BEGIN
|
21
|
SELECT '-1' as Result, N'Phiếu yêu cầu hiện đang ở đầu mối mua sắm là Đơn vị Kinh doanh thì không được phép chuyển phiếu qua cho đơn vị chuyên môn ở Hội sở xử lý' ErrorDesc
|
22
|
RETURN '-1'
|
23
|
END
|
24
|
|
25
|
IF(@PROCESS_ID = 'SIGN')
|
26
|
BEGIN
|
27
|
SELECT '-1' as Result, N'Phiếu yêu cầu hiện đang chờ cấp phê duyệt trung gian, Nên không thể chuyển cho DVCM' ErrorDesc
|
28
|
RETURN '-1'
|
29
|
END
|
30
|
IF(@PROCESS_ID = 'APPNEW')
|
31
|
BEGIN
|
32
|
SELECT '-1' as Result, N'Phiếu yêu cầu hiện đang chờ TĐV phê duyệt, Nên không thể chuyển cho DVCM' ErrorDesc
|
33
|
RETURN '-1'
|
34
|
END
|
35
|
IF(@PROCESS_ID = 'DVCM')
|
36
|
BEGIN
|
37
|
SELECT '-1' as Result, N'Phiếu yêu cầu hiện đang chờ DVCM xử lý & phê duyệt, Nên không thể chuyển cho DVCM' ErrorDesc
|
38
|
RETURN '-1'
|
39
|
END
|
40
|
IF(@PROCESS_ID = 'GDK_PYC')
|
41
|
BEGIN
|
42
|
SELECT '-1' as Result, N'Phiếu yêu cầu hiện đang chờ GĐK hỗ trợ phê duyệt, Nên không thể chuyển cho DVCM' ErrorDesc
|
43
|
RETURN '-1'
|
44
|
END
|
45
|
IF(@PROCESS_ID = 'APPROVE')
|
46
|
BEGIN
|
47
|
SELECT '-1' as Result, N'Phiếu yêu cầu đã hoàn tất, Nên không thể chuyển cho DVCM' ErrorDesc
|
48
|
RETURN '-1'
|
49
|
END
|
50
|
UPDATE TR_REQUEST_DOC SET DMMS_ID = @p_DMMS_ID_NEW WHERE REQ_ID = @p_REQ_ID
|
51
|
|
52
|
-----------------BAODNQ 20/10/2022 : UPDATE DVDM_ID TRONG PL_REQUEST_PROCESS-----------
|
53
|
UPDATE PL_REQUEST_PROCESS
|
54
|
SET DVDM_ID = @p_DMMS_ID_NEW
|
55
|
WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'DMMS' AND STATUS = 'C'
|
56
|
DECLARE @p_DVDM_NAME NVARCHAR(1000) = (SELECT TOP 1 DVDM_NAME FROM CM_DVDM WHERE DVDM_ID = @p_DMMS_ID_NEW)
|
57
|
DECLARE @p_PROCESS_DESC NVARCHAR(MAX) = N'Chuyển phiếu về ' + @p_DVDM_NAME
|
58
|
|
59
|
DECLARE @p_REQ_CODE VARCHAR(50) = (SELECT TOP 1 REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)
|
60
|
DECLARE @p_MESSAGE NVARCHAR(MAX) = N'Phiếu yêu cầu mua sắm số: ' +
|
61
|
@p_REQ_CODE + N' đã được chuyển cho ' + @p_DVDM_NAME + N' thành công'
|
62
|
|
63
|
INSERT dbo.PL_PROCESS
|
64
|
(
|
65
|
REQ_ID,
|
66
|
PROCESS_ID,
|
67
|
CHECKER_ID,
|
68
|
APPROVE_DT,
|
69
|
PROCESS_DESC,
|
70
|
NOTES
|
71
|
)
|
72
|
VALUES
|
73
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
74
|
'DMMS', -- PROCESS_ID - varchar(10)
|
75
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
76
|
GETDATE(), -- APPROVE_DT - datetime
|
77
|
@p_PROCESS_DESC, -- PROCESS_DESC - nvarchar(1000)
|
78
|
N'Chuyển phiếu về DVCM' -- NOTES - nvarchar(1000)
|
79
|
)
|
80
|
|
81
|
SELECT '0' as Result, @p_MESSAGE ErrorDesc
|
82
|
RETURN '0'
|
83
|
END
|
84
|
ELSE
|
85
|
BEGIN
|
86
|
SELECT '-1' as Result, '' ErrorDesc
|
87
|
RETURN '-1'
|
88
|
END
|
89
|
END
|