Project

General

Profile

24122020 IN PYCMS.txt

Luc Tran Van, 12/24/2020 09:10 AM

 
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