Project

General

Profile

4.0 FIX LOI PYCMS BI DUP CAP PHE DUYET.txt

Luc Tran Van, 09/16/2020 09:54 PM

 
1

    
2
ALTER PROCEDURE [dbo].[rpt_TR_REQUEST_DOC_DT_ById]
3
@P_REQ_ID varchar(15)
4
AS
5

    
6
DECLARE
7
		@DETAIL_ID VARCHAR(15),
8
		@l_QUANTITY numeric(18,0)=0, @l_QUANTITY_EXE decimal(18,0)=0, @l_QUANTITY_REMAIN decimal(18,0)=0,
9
		@l_AMT numeric(18,0)=0, @l_AMT_EXE decimal(18,0)=0, @l_AMT_REMAIN decimal(18,0)=0,
10
		@APPR VARCHAR(15),@APPR1 VARCHAR(15),@APPR2 VARCHAR(15),@APPR3 VARCHAR(15),
11
		@POS NVARCHAR(50),@POS1 NVARCHAR(50),@POS2 NVARCHAR(50),@POS3 NVARCHAR(50),
12
		@DATE NVARCHAR(50),@DATE1 NVARCHAR(50),@DATE2 NVARCHAR(50),@DATE3 NVARCHAR(50),
13
		@FULLNAME NVARCHAR(100),@FULLNAME1 NVARCHAR(100),@FULLNAME2 NVARCHAR(100),@FULLNAME3 NVARCHAR(100)
14

    
15
	 SET @APPR =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A 
16
	 INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'
17
	 WHERE A.REQ_ID= @P_REQ_ID )
18
	 SET @FULLNAME = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR)
19
	 SET @POS =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR)
20
	 SET @DATE =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')
21
				 FROM PL_PROCESS A 
22
				 INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME  AND A.PROCESS_ID='APPNEW'
23
				 WHERE A.REQ_ID= @P_REQ_ID
24
				 ORDER BY A.APPROVE_DT DESC
25
				 )
26

    
27
	 SET @APPR1 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A 
28
	 INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND B.RoleName ='NVMS'
29
	 WHERE A.REQ_ID= @P_REQ_ID
30
	 AND NOT EXISTS(SELECT MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID= @P_REQ_ID AND MAKER_ID = A.CHECKER_ID))
31
	 SET @FULLNAME1 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR1)
32
	 SET @POS1 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR1)
33
	 SET @DATE1 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'') 
34
				  FROM PL_PROCESS A 
35
				  INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND B.RoleName ='NVMS'
36
				  WHERE A.REQ_ID= @P_REQ_ID
37
				  ORDER BY A.APPROVE_DT DESC)
38
	 
39
	 SET @APPR2 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A 
40
	 INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND B.RoleName ='TBP' 
41
	 WHERE A.REQ_ID= @P_REQ_ID)
42
	 SET @FULLNAME2 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR2)
43
	 SET @POS2 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR2)
44
	 SET @DATE2 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'') 
45
				  FROM PL_PROCESS A 
46
				  INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND B.RoleName ='TBP' 
47
				  WHERE A.REQ_ID= @P_REQ_ID
48
				  ORDER BY A.APPROVE_DT DESC)
49
	 
50
	 SET @APPR3 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A 
51
	 INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS'  AND B.RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW ='GDDV')
52
	 WHERE A.REQ_ID= @P_REQ_ID)
53
	 SET @FULLNAME3 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR3)
54
	 SET @POS3 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR3)
55
	 SET @DATE3 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'') 
56
				  FROM PL_PROCESS A 
57
				  INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND B.RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW ='GDDV') AND A.PROCESS_ID ='DMMS' 
58
				  WHERE A.REQ_ID= @P_REQ_ID
59
				  ORDER BY A.APPROVE_DT DESC)	
60
	SET @DETAIL_ID = (SELECT TOP 1 REQDT_ID FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@P_REQ_ID)
61
	SELECT  ROW_NUMBER() OVER (ORDER BY KQ.HH_NAME) AS STT, KQ.* FROM
62
	(
63
	SELECT TOP 1 HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CU.UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,
64
	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,
65
	CS.SUP_NAME,  (SELECT  ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,
66
	@FULLNAME AS DEP_NAME1,		
67
	@POS AS TP_NAME1,		
68
	@DATE AS TP_DATE_SIGN1,
69
	@FULLNAME1 AS DEP_NAME2,		
70
	@POS1 AS TP_NAME2,		
71
	@DATE1 AS TP_DATE_SIGN2,
72
	@FULLNAME2 AS DEP_NAME3,		
73
	@POS2 AS TP_NAME3,		
74
	@DATE2 AS TP_DATE_SIGN3,
75
	@FULLNAME3 AS DEP_NAME4,		
76
	@POS3 AS TP_NAME4,		
77
	@DATE3 AS TP_DATE_SIGN4
78
	FROM dbo.TR_REQUEST_DOC_DT TRDT 
79
	LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID 
80
	LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID
81
	LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID
82
	LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID
83
	WHERE REQ_DOC_ID=@P_REQ_ID
84
	UNION
85
	SELECT HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CU.UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,
86
	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,
87
	CS.SUP_NAME,  (SELECT  ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,
88
	'' AS DEP_NAME1,		
89
	'' AS TP_NAME1,		
90
	'' AS TP_DATE_SIGN1,
91
	'' AS DEP_NAME2,		
92
	'' AS TP_NAME2,		
93
	'' AS TP_DATE_SIGN2,
94
	'' AS DEP_NAME3,		
95
	'' AS TP_NAME3,		
96
	'' AS TP_DATE_SIGN3,
97
	'' AS DEP_NAME4,		
98
	'' AS TP_NAME4,		
99
	'' AS TP_DATE_SIGN4
100
	FROM dbo.TR_REQUEST_DOC_DT TRDT 
101
	LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID 
102
	LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID
103
	LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID
104
	LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID
105
	WHERE REQ_DOC_ID=@P_REQ_ID AND REQDT_ID <> @DETAIL_ID
106
	)
107
	AS KQ