1
|
|
2
|
|
3
|
ALTER PROCEDURE [dbo].[rpt_TR_REQUEST_DOC_DT_ById]
|
4
|
@P_REQ_ID varchar(15)
|
5
|
AS
|
6
|
|
7
|
DECLARE
|
8
|
@DETAIL_ID VARCHAR(15),
|
9
|
@l_QUANTITY numeric(18,0)=0, @l_QUANTITY_EXE decimal(18,0)=0, @l_QUANTITY_REMAIN decimal(18,0)=0,
|
10
|
@l_AMT numeric(18,0)=0, @l_AMT_EXE decimal(18,0)=0, @l_AMT_REMAIN decimal(18,0)=0,
|
11
|
@APPR VARCHAR(15),@APPR1 VARCHAR(15),@APPR2 VARCHAR(15),@APPR3 VARCHAR(15),@APPR4 VARCHAR(15),
|
12
|
@POS NVARCHAR(50),@POS1 NVARCHAR(50),@POS2 NVARCHAR(50),@POS3 NVARCHAR(50),@POS4 NVARCHAR(50),
|
13
|
@DATE NVARCHAR(50),@DATE1 NVARCHAR(50),@DATE2 NVARCHAR(50),@DATE3 NVARCHAR(50),@DATE4 NVARCHAR(50),
|
14
|
@FULLNAME NVARCHAR(100),@FULLNAME1 NVARCHAR(100),@FULLNAME2 NVARCHAR(100),@FULLNAME3 NVARCHAR(100),@FULLNAME4 NVARCHAR(100)
|
15
|
|
16
|
SET @APPR =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A
|
17
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'
|
18
|
WHERE A.REQ_ID= @P_REQ_ID )
|
19
|
SET @FULLNAME = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR)
|
20
|
SET @POS =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR)
|
21
|
SET @DATE =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')
|
22
|
FROM PL_PROCESS A
|
23
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'
|
24
|
WHERE A.REQ_ID= @P_REQ_ID
|
25
|
ORDER BY A.APPROVE_DT DESC
|
26
|
)
|
27
|
|
28
|
SET @APPR1 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A
|
29
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES =N'Nhân viên xử lý gửi phê duyệt'
|
30
|
WHERE A.REQ_ID= @P_REQ_ID )
|
31
|
|
32
|
SET @FULLNAME1 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR1)
|
33
|
SET @POS1 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR1)
|
34
|
SET @DATE1 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')
|
35
|
FROM PL_PROCESS A
|
36
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES =N'Nhân viên xử lý gửi phê duyệt'
|
37
|
WHERE A.REQ_ID= @P_REQ_ID
|
38
|
ORDER BY A.APPROVE_DT DESC)
|
39
|
|
40
|
SET @APPR2 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A
|
41
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND A.NOTES =N'Kiểm soát viên đã phê duyệt'
|
42
|
WHERE A.REQ_ID= @P_REQ_ID)
|
43
|
SET @FULLNAME2 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR2)
|
44
|
SET @POS2 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR2)
|
45
|
SET @DATE2 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')
|
46
|
FROM PL_PROCESS A
|
47
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND A.NOTES = N'Kiểm soát viên đã phê duyệt'
|
48
|
WHERE A.REQ_ID= @P_REQ_ID
|
49
|
ORDER BY A.APPROVE_DT DESC)
|
50
|
|
51
|
SET @APPR3 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A
|
52
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND A.NOTES = N'Trưởng đơn vị đã phê duyệt'
|
53
|
WHERE A.REQ_ID= @P_REQ_ID)
|
54
|
|
55
|
SET @FULLNAME3 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR3)
|
56
|
SET @POS3 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR3)
|
57
|
SET @DATE3 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')
|
58
|
FROM PL_PROCESS A
|
59
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES = N'Trưởng đơn vị đã phê duyệt' AND A.PROCESS_ID ='DMMS'
|
60
|
WHERE A.REQ_ID= @P_REQ_ID
|
61
|
ORDER BY A.APPROVE_DT DESC)
|
62
|
--
|
63
|
SET @APPR4 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A
|
64
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='GDK_PYC' AND A.NOTES = N'Giám đốc khối đã phê duyệt'
|
65
|
WHERE A.REQ_ID= @P_REQ_ID)
|
66
|
SET @FULLNAME4 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR4)
|
67
|
SET @POS4 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR4)
|
68
|
SET @DATE4 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')
|
69
|
FROM PL_PROCESS A
|
70
|
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES = N'Giám đốc khối đã phê duyệt' AND A.PROCESS_ID ='GDK_PYC'
|
71
|
WHERE A.REQ_ID= @P_REQ_ID
|
72
|
ORDER BY A.APPROVE_DT DESC)
|
73
|
--
|
74
|
SET @DETAIL_ID = (SELECT TOP 1 REQDT_ID FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@P_REQ_ID)
|
75
|
SELECT ROW_NUMBER() OVER (ORDER BY KQ.HH_NAME DESC) AS STT, KQ.* FROM
|
76
|
(
|
77
|
SELECT TOP 1 HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CASE WHEN TRDT.NOTES IS NOT NULL AND TRDT.NOTES <> '' AND LEN(TRDT.NOTES) <10 THEN TRDT.NOTES ELSE DT.UNIT_NAME END AS UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,
|
78
|
ISNULL(TRDT.PRICE_ETM,0) AS PRICE_ETM,ISNULL(TRDT.TOTAL_AMT_ETM,0) AS TOTAL_AMT_ETM,ISNULL(TRDT.PRICE,0) AS PRICE,ISNULL(TRDT.TOTAL_AMT,0) AS TOTAL_AMT,
|
79
|
CS.SUP_NAME, (SELECT ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,
|
80
|
@FULLNAME AS DEP_NAME1,
|
81
|
@POS AS TP_NAME1,
|
82
|
@DATE AS TP_DATE_SIGN1,
|
83
|
|
84
|
@FULLNAME1 AS DEP_NAME2,
|
85
|
@POS1 AS TP_NAME2,
|
86
|
@DATE1 AS TP_DATE_SIGN2,
|
87
|
|
88
|
@FULLNAME2 AS DEP_NAME3,
|
89
|
@POS2 AS TP_NAME3,
|
90
|
@DATE2 AS TP_DATE_SIGN3,
|
91
|
|
92
|
@FULLNAME3 AS DEP_NAME4,
|
93
|
@POS3 AS TP_NAME4,
|
94
|
@DATE3 AS TP_DATE_SIGN4,
|
95
|
|
96
|
@FULLNAME4 AS DEP_NAME12,
|
97
|
@POS4 AS TP_NAME12,
|
98
|
@DATE4 AS TP_DATE_SIGN12 ,
|
99
|
N'Ghi chú: '+(SELECT ISNULL(NOTES,'') FROM TR_REQUEST_DOC WHERE REQ_ID =@P_REQ_ID) AS TP_NAME15,TRDT.EXCHANGE_RATE AS RATE
|
100
|
|
101
|
FROM dbo.TR_REQUEST_DOC_DT TRDT
|
102
|
LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID
|
103
|
LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID
|
104
|
LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID
|
105
|
LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID
|
106
|
LEFT JOIN PL_REQUEST_DOC_DT DT ON TRDT.PL_REQDT_ID = DT.REQDT_ID
|
107
|
WHERE REQ_DOC_ID=@P_REQ_ID
|
108
|
UNION
|
109
|
SELECT HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CASE WHEN TRDT.NOTES IS NOT NULL AND TRDT.NOTES <> '' AND LEN(TRDT.NOTES) <10 THEN TRDT.NOTES ELSE DT.UNIT_NAME END AS UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,
|
110
|
ISNULL(TRDT.PRICE_ETM,0) AS PRICE_ETM,ISNULL(TRDT.TOTAL_AMT_ETM,0) AS TOTAL_AMT_ETM,ISNULL(TRDT.PRICE,0) AS PRICE,ISNULL(TRDT.TOTAL_AMT,0) AS TOTAL_AMT,
|
111
|
CS.SUP_NAME, (SELECT ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,
|
112
|
'' AS DEP_NAME1,
|
113
|
'' AS TP_NAME1,
|
114
|
'' AS TP_DATE_SIGN1,
|
115
|
'' AS DEP_NAME2,
|
116
|
'' AS TP_NAME2,
|
117
|
'' AS TP_DATE_SIGN2,
|
118
|
'' AS DEP_NAME3,
|
119
|
'' AS TP_NAME3,
|
120
|
'' AS TP_DATE_SIGN3,
|
121
|
'' AS DEP_NAME4,
|
122
|
'' AS TP_NAME4,
|
123
|
'' AS TP_DATE_SIGN4,
|
124
|
'' AS DEP_NAME12,
|
125
|
'' AS TP_NAME12,
|
126
|
'' AS TP_DATE_SIGN12 ,
|
127
|
'' AS TP_NAME15,
|
128
|
TRDT.EXCHANGE_RATE AS RATE
|
129
|
FROM dbo.TR_REQUEST_DOC_DT TRDT
|
130
|
LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID
|
131
|
LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID
|
132
|
LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID
|
133
|
LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID
|
134
|
LEFT JOIN PL_REQUEST_DOC_DT DT ON TRDT.PL_REQDT_ID = DT.REQDT_ID
|
135
|
WHERE REQ_DOC_ID=@P_REQ_ID AND TRDT.REQDT_ID <> @DETAIL_ID
|
136
|
)
|
137
|
AS KQ
|