Project

General

Profile

rpt_TR_REQ_DOC_DT_Byid.txt

Truong Nguyen Vu, 02/04/2021 01:45 PM

 
1

    
2

    
3

    
4
ALTER  PROCEDURE [dbo].[rpt_TR_REQUEST_DOC_DT_ById]  
5
@P_REQ_ID varchar(15)  
6
AS  
7
 
8
DECLARE  
9
@DETAIL_ID VARCHAR(15),  
10
@l_QUANTITY numeric(18,0)=0, @l_QUANTITY_EXE decimal(18,0)=0, @l_QUANTITY_REMAIN decimal(18,0)=0,  
11
@l_AMT numeric(18,0)=0, @l_AMT_EXE decimal(18,0)=0, @l_AMT_REMAIN decimal(18,0)=0,  
12
@APPR VARCHAR(15),@APPR1 VARCHAR(15),@APPR2 VARCHAR(15),@APPR3 VARCHAR(15),@APPR4 VARCHAR(15),  
13
@POS NVARCHAR(50),@POS1 NVARCHAR(50),@POS2 NVARCHAR(50),@POS3 NVARCHAR(50),@POS4 NVARCHAR(50),  
14
@DATE NVARCHAR(50),@DATE1 NVARCHAR(50),@DATE2 NVARCHAR(50),@DATE3 NVARCHAR(50),@DATE4 NVARCHAR(50),  
15
@FULLNAME NVARCHAR(100),@FULLNAME1 NVARCHAR(100),@FULLNAME2 NVARCHAR(100),@FULLNAME3 NVARCHAR(100),@FULLNAME4 NVARCHAR(100)  
16
 
17
SET @APPR =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
18
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'  
19
WHERE A.REQ_ID= @P_REQ_ID )  
20
SET @FULLNAME = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR)  
21
SET @POS =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR)  
22
SET @DATE =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
23
FROM PL_PROCESS A  
24
INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'  
25
WHERE A.REQ_ID= @P_REQ_ID  
26
ORDER BY A.APPROVE_DT DESC  
27
)  
28
 
29
SET @APPR1 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
30
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'  
31
WHERE A.REQ_ID= @P_REQ_ID )  
32
 
33
SET @FULLNAME1 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR1)  
34
SET @POS1 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR1)  
35
SET @DATE1 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
36
FROM PL_PROCESS A  
37
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'  
38
WHERE A.REQ_ID= @P_REQ_ID  
39
ORDER BY A.APPROVE_DT DESC)  
40
 
41
SET @APPR2 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
42
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'  
43
WHERE A.REQ_ID= @P_REQ_ID)  
44
SET @FULLNAME2 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR2)  
45
SET @POS2 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR2)  
46
SET @DATE2 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
47
FROM PL_PROCESS A  
48
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'  
49
WHERE A.REQ_ID= @P_REQ_ID  
50
ORDER BY A.APPROVE_DT DESC)  
51
 
52
SET @APPR3 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
53
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'  
54
WHERE A.REQ_ID= @P_REQ_ID)  
55
 
56
SET @FULLNAME3 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR3)  
57
SET @POS3 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR3)  
58
SET @DATE3 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
59
FROM PL_PROCESS A  
60
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'  
61
WHERE A.REQ_ID= @P_REQ_ID  
62
ORDER BY A.APPROVE_DT DESC)  
63
--  
64
SET @APPR4 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
65
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'  
66
WHERE A.REQ_ID= @P_REQ_ID)  
67
SET @FULLNAME4 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR4)  
68
SET @POS4 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR4)  
69
SET @DATE4 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
70
FROM PL_PROCESS A  
71
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'  
72
WHERE A.REQ_ID= @P_REQ_ID  
73
ORDER BY A.APPROVE_DT DESC)  
74
--  
75
SET @DETAIL_ID = (SELECT TOP 1 REQDT_ID FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@P_REQ_ID)  
76
SELECT ROW_NUMBER() OVER (ORDER BY KQ.HH_NAME DESC) AS STT, KQ.* FROM  
77
(   
78
SELECT HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CASE WHEN TRDT.UNIT_NAME IS NOT NULL AND TRDT.UNIT_NAME <> '' AND LEN(TRDT.UNIT_NAME) <10 THEN TRDT.UNIT_NAME ELSE DT.UNIT_NAME END AS UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,  
79
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,  
80
CS.SUP_NAME, (SELECT ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,  
81
TRDT.EXCHANGE_RATE AS RATE
82
FROM dbo.TR_REQUEST_DOC_DT TRDT  
83
LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID  
84
LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID  
85
LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID  
86
LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID  
87
LEFT JOIN PL_REQUEST_DOC_DT DT ON TRDT.PL_REQDT_ID = DT.REQDT_ID  
88
WHERE REQ_DOC_ID=@P_REQ_ID
89
)  
90
AS KQ  
91

    
92
SELECT TOP 1 HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CASE WHEN TRDT.UNIT_NAME IS NOT NULL AND TRDT.UNIT_NAME <> '' AND LEN(TRDT.UNIT_NAME) <10 THEN TRDT.UNIT_NAME ELSE DT.UNIT_NAME END AS UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,  
93
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,  
94
CS.SUP_NAME, (SELECT ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,  
95
@FULLNAME AS DEP_NAME1,  
96
@POS AS TP_NAME1,  
97
@DATE AS TP_DATE_SIGN1,  
98
 
99
@FULLNAME1 AS DEP_NAME2,  
100
@POS1 AS TP_NAME2,  
101
@DATE1 AS TP_DATE_SIGN2,  
102
 
103
@FULLNAME2 AS DEP_NAME3,  
104
@POS2 AS TP_NAME3,  
105
@DATE2 AS TP_DATE_SIGN3,  
106
 
107
@FULLNAME3 AS DEP_NAME4,  
108
@POS3 AS TP_NAME4,  
109
@DATE3 AS TP_DATE_SIGN4,  
110
 
111
@FULLNAME4 AS DEP_NAME12,  
112
@POS4 AS TP_NAME12,  
113
@DATE4 AS TP_DATE_SIGN12 ,
114
TRDT.EXCHANGE_RATE AS RATE,
115
DP.DEP_NAME AS DEP_CREATE,
116
N'Ghi chú: ' AS TP_NAME15
117
FROM dbo.TR_REQUEST_DOC_DT TRDT  
118
LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID  
119
LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID  
120
LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID  
121
LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID  
122
LEFT JOIN PL_REQUEST_DOC_DT DT ON TRDT.PL_REQDT_ID = DT.REQDT_ID  
123
LEFT JOIN TR_REQUEST_DOC A ON TRDT.REQ_DOC_ID = A.REQ_ID
124
LEFT JOIN CM_DEPARTMENT DP ON A.DEP_CREATE = DP.DEP_ID
125
WHERE REQ_DOC_ID=@P_REQ_ID