1
|
|
2
|
ALTER PROCEDURE [dbo].[TR_REQ_PROCESS_CHILD_Upd]
|
3
|
@p_REQ_ID VARCHAR(20) = NULL,
|
4
|
@p_PROCESS_ID VARCHAR(20) = NULL,
|
5
|
@p_TLNAME VARCHAR(20) = NULL,
|
6
|
@p_MAKER_ID VARCHAR(20) = NULL,
|
7
|
@p_TYPE_JOB VARCHAR(20) = NULL,
|
8
|
@p_REF_ID INT = NULL
|
9
|
AS
|
10
|
BEGIN TRANSACTION
|
11
|
|
12
|
DECLARE @LEVEL INT
|
13
|
DECLARE @REQ_DT DATE
|
14
|
SET @REQ_DT =(SELECT REQ_DT FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)
|
15
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND TRAN_TYPE_ID NOT IN (SELECT TRAN_TYPE_ID FROM dbo.CM_TRAN_TYPE WHERE NOTES='XK') AND (PRICE IS NULL OR PRICE=0) ))
|
16
|
BEGIN
|
17
|
ROLLBACK TRANSACTION
|
18
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Vui lòng nhập đơn giá thực tế' ErrorDesc
|
19
|
RETURN -1
|
20
|
END
|
21
|
IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID))
|
22
|
BEGIN
|
23
|
ROLLBACK TRANSACTION
|
24
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế không được phép để trống' ErrorDesc
|
25
|
RETURN -1
|
26
|
END
|
27
|
IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND (PRICE IS NOT NULL)))
|
28
|
BEGIN
|
29
|
ROLLBACK TRANSACTION
|
30
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Vui lòng nhập đơn giá' ErrorDesc
|
31
|
RETURN -1
|
32
|
END
|
33
|
IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND (CURRENCY IS NOT NULL OR CURRENCY='')))
|
34
|
BEGIN
|
35
|
ROLLBACK TRANSACTION
|
36
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Vui lòng chọn loại tiền tệ' ErrorDesc
|
37
|
RETURN -1
|
38
|
END
|
39
|
IF(NOT EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND (EXCHANGE_RATE IS NOT NULL)))
|
40
|
BEGIN
|
41
|
ROLLBACK TRANSACTION
|
42
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Vui lòng nhập tỷ giá quy đổi' ErrorDesc
|
43
|
RETURN -1
|
44
|
END
|
45
|
-----------------------BAODNQ 26/10/2022 : THÊM HÌNH THỨC KHÔNG THỰC HIỆN MUA SẮM THÌ KO BẮT BUỘC CHỌN NCC-----------------
|
46
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND (SUP_ID IS NULL OR SUP_ID='') AND TRAN_TYPE_ID NOT IN ('TRN0000000006', 'TRN0000000007')))--TRN0000000006 LÀ XUẤT KHO, TRN0000000007 LÀ KO THỰC HIỆN MUA SẮM
|
47
|
BEGIN
|
48
|
ROLLBACK TRANSACTION
|
49
|
|
50
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Vui lòng chọn nhà cung cấp có sẵn trong hệ thống hoặc lựa chọn nhà cung cấp thông qua hồ sơ thầu' ErrorDesc
|
51
|
RETURN -1
|
52
|
END
|
53
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND (TRAN_TYPE_ID IS NULL OR TRAN_TYPE_ID='') ))
|
54
|
BEGIN
|
55
|
ROLLBACK TRANSACTION
|
56
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Vui lòng chọn hình thức mua sắm' ErrorDesc
|
57
|
RETURN -1
|
58
|
END
|
59
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND ISNULL(PRICE,0) > ISNULL(PRICE_ETM,0)))
|
60
|
BEGIN
|
61
|
ROLLBACK TRANSACTION
|
62
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Đơn giá thực tế phải nhỏ hơn đơn giá dự kiến theo tờ trình' ErrorDesc
|
63
|
RETURN -1
|
64
|
END
|
65
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND CONVERT(DATE, REQ_DT, 103) <= CONVERT(DATE, @REQ_DT, 103)))
|
66
|
BEGIN
|
67
|
ROLLBACK TRANSACTION
|
68
|
SELECT -1 as Result, N'Lưới thông tin chi tiết mua sắm thực tế: Ngày cần phải lớn hơn ngày yêu cầu mua sắm' ErrorDesc
|
69
|
RETURN -1
|
70
|
END
|
71
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='P'
|
72
|
WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND TLNAME=@p_TLNAME AND TYPE_JOB='XL'
|
73
|
SET @LEVEL=ISNULL((SELECT TOP 1 LEVEL_JOB
|
74
|
FROM dbo.PL_REQUEST_PROCESS_CHILD
|
75
|
WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND TLNAME=@p_TLNAME AND TYPE_JOB='XL'
|
76
|
ORDER BY LEVEL_JOB DESC),0)
|
77
|
|
78
|
UPDATE dbo.PL_REQUEST_PROCESS_CHILD SET STATUS_JOB='C'
|
79
|
WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND LEVEL_JOB=(@LEVEL-1)
|
80
|
|
81
|
--------------------------BAODNQ 7/3/2022 : Lấy ra STATUS_JOB sau khi update----------
|
82
|
DECLARE @p_STATUS_JOB VARCHAR(15) = (
|
83
|
SELECT STATUS_JOB
|
84
|
FROM PL_REQUEST_PROCESS_CHILD
|
85
|
WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID=@p_REF_ID AND TLNAME=@p_TLNAME AND TYPE_JOB='XL'
|
86
|
)
|
87
|
|
88
|
-------------------BAODNQ 15/10 HOT FIX------------------------
|
89
|
IF((SELECT TOP 1 PROCESS_ID
|
90
|
FROM PL_PROCESS WHERE REQ_ID = @p_REQ_ID
|
91
|
ORDER BY APPROVE_DT DESC) <> 'SEND'
|
92
|
)
|
93
|
BEGIN
|
94
|
---------------------------------------------
|
95
|
INSERT INTO dbo.PL_PROCESS
|
96
|
(
|
97
|
REQ_ID,
|
98
|
PROCESS_ID,
|
99
|
CHECKER_ID,
|
100
|
APPROVE_DT,
|
101
|
PROCESS_DESC,
|
102
|
NOTES
|
103
|
)
|
104
|
VALUES
|
105
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
106
|
--@p_PROCESS_ID, -- PROCESS_ID - varchar(10)
|
107
|
'SEND',
|
108
|
@p_TLNAME, -- CHECKER_ID - varchar(15)
|
109
|
GETDATE(), -- APPROVE_DT - datetime
|
110
|
N'Nhân viên hoàn tất xử lý phiếu và gửi phê duyệt thành công' , -- PROCESS_DESC - nvarchar(1000)
|
111
|
N'Nhân viên xử lý gửi phê duyệt ' -- NOTES - nvarchar(1000)
|
112
|
)
|
113
|
END
|
114
|
|
115
|
|
116
|
IF @@Error <> 0 GOTO ABORT
|
117
|
COMMIT TRANSACTION
|
118
|
----------------------BAODNQ 7/3/2022 : Trả ra kq thêm STATUS_JOB------------
|
119
|
SELECT 0 as Result, @p_STATUS_JOB STATUS_JOB ,N'Đã gửi phê duyệt thành công' ErrorDesc
|
120
|
RETURN 0
|
121
|
ABORT:
|
122
|
BEGIN
|
123
|
ROLLBACK TRANSACTION
|
124
|
SELECT -1 as Result, '' STATUS_JOB,'' ErrorDesc
|
125
|
RETURN -1
|
126
|
End
|
127
|
|