Project

General

Profile

ASS_TRANSFER_CONFIRM_MASTER_Search.txt

Luc Tran Van, 03/18/2022 04:26 PM

 
1
ALTER PROCEDURE [dbo].[ASS_TRANSFER_CONFIRM_MASTER_Search]
2
@p_TRANS_MULTI_MASTER_ID	varchar(15)  = NULL,
3
@p_BRANCH_ID	varchar(15)  = NULL,
4
@p_TRANSFER_DT	VARCHAR(20) = NULL,
5
@p_USER_TRANSFER	nvarchar(200)  = NULL,
6
@p_USER_TRANSFER_NAME	nvarchar(200)  = NULL,
7
@p_NOTES	nvarchar(1000)  = NULL,
8
@p_RECORD_STATUS	varchar(1)  = NULL,
9
@p_MAKER_ID	varchar(15)  = NULL,
10
@p_CREATE_DT	VARCHAR(20) = NULL,
11
@p_CHECKER_ID	varchar(15)  = NULL,
12
@p_APPROVE_DT	VARCHAR(20) = NULL,
13
@p_AUTH_STATUS_KT	varchar(15)  = NULL,
14
@p_CREATE_DT_KT	VARCHAR(20) = NULL,
15
@p_APPROVE_DT_KT	VARCHAR(20) = NULL,
16
@p_MAKER_ID_KT	varchar(50)  = NULL,
17
@p_CHECKER_ID_KT	varchar(50)  = NULL,
18
@p_REPORT_STATUS	varchar(15)  = NULL,
19
@p_LEVEL	VARCHAR(50) = 'UNIT',
20
@p_TOP	INT = 10,
21
@p_FROMDATE VARCHAR(20) = NULL,
22
@p_TODATE VARCHAR(20) = NULL,
23
@p_AUTH_STATUS	varchar(1)  = NULL, -- TRẠNG THÁI XÁC NHẬN CỦA BÊN GIAO (CHO)
24
@p_IS_UPDATE VARCHAR(1) = NULL, -- TRẠNG THÁI XÁC NHẬN CỦA NHẬN
25
@p_USER_LOGIN   VARCHAR(15) = NULL,
26
@p_TYPE_SEARCH VARCHAR(10)= NULL -- BN  --- BG
27
AS
28

    
29
BEGIN -- PAGING
30
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
31
SET @p_RECORD_STATUS = '1'
32

    
33
	DECLARE @BRANCH_LOGIN VARCHAR(15),@BRANCH_TYPE VARCHAR(10), @DEP_LOGIN VARCHAR(15)
34
		SET @BRANCH_LOGIN = (SELECT TOP 1 TLSUBBRID FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
35
		SET @DEP_LOGIN = (SELECT TOP 1 SECUR_CODE FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
36
		SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_LOGIN)
37

    
38
	DECLARE @ASSIGN_ROLES TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
39
	INSERT INTO @ASSIGN_ROLES SELECT * FROM [dbo].[TL_USER_GET_ASSIGNED_BRANCH](@p_USER_LOGIN)
40

    
41
	DECLARE @USER_ROLES TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
42
	INSERT INTO @USER_ROLES SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
43

    
44
	DECLARE @tmp TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15),BRANCH_ID_OLD VARCHAR(20), DEPT_ID_OLD VARCHAR(15))
45
	INSERT INTO @tmp 
46
	SELECT DT.BRANCH_ID, DT.DEPT_ID, DT.BRANCH_ID_OLD, DT.DEPT_ID_OLD FROM ASS_TRANSFER_MULTI_MASTER AM
47
	LEFT JOIN ASS_TRANSFER_MULTI_DT DT ON DT.TRANSFER_MULTI_ID IN (SELECT MIN(TRANSFER_MULTI_ID) FROM ASS_TRANSFER_MULTI_DT  TEMP WHERE TEMP.TRANS_MULTI_MASTER_ID=AM.TRANS_MULTI_MASTER_ID)
48
	WHERE 1= 1
49
	AND ((@p_TYPE_SEARCH = 'BG' AND ((EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = DT.BRANCH_ID_OLD AND BRANCH_TYPE ='HS')
50
		AND (DT.DEPT_ID_OLD IN (SELECT R.DEPT_ID FROM @USER_ROLES R WHERE R.ROLE_ID IN ('GDDV','TP')))
51
				OR DT.DEPT_ID_OLD IN (SELECT DEPT_ID FROM @ASSIGN_ROLES WHERE ROLE_ID IN ('GDDV','TP')))
52
		OR (NOT EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = DT.BRANCH_ID_OLD AND BRANCH_TYPE ='HS')
53
			AND (DT.BRANCH_ID_OLD IN (SELECT R.BRANCH_ID FROM @USER_ROLES R WHERE R.ROLE_ID IN ('GDDV','TPGD'))))
54
				OR DT.BRANCH_ID_OLD IN (SELECT BRANCH_ID FROM @ASSIGN_ROLES WHERE ROLE_ID IN ('GDDV','TPGD'))))
55
	OR (@p_TYPE_SEARCH = 'BN' AND ((EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = DT.BRANCH_ID AND BRANCH_TYPE ='HS')
56
			AND (DT.DEPT_ID IN (SELECT R.DEPT_ID FROM @USER_ROLES R WHERE R.ROLE_ID IN ('GDDV','TP')))
57
				OR DT.DEPT_ID IN (SELECT DEPT_ID FROM @ASSIGN_ROLES WHERE ROLE_ID IN ('GDDV','TP')))
58
		OR (NOT EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = DT.BRANCH_ID AND BRANCH_TYPE ='HS')
59
			AND (DT.BRANCH_ID IN (SELECT R.BRANCH_ID FROM @USER_ROLES R WHERE R.ROLE_ID IN ('GDDV','TPGD'))))
60
				OR DT.BRANCH_ID IN (SELECT BRANCH_ID FROM @ASSIGN_ROLES WHERE ROLE_ID IN ('GDDV','TPGD')))))
61
	
62

    
63
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
64
	-- PAGING BEGIN
65

    
66
		SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
67
		ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
68
		@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
69
		ACM.CONFIRM_STATUS_BG, ACM.CONFIRM_STATUS_BN, ACM.TRANS_MULTI_MASTER_CONFIRM_ID
70
	-- SELECT END
71

    
72
	FROM ASS_TRANSFER_MULTI_MASTER A
73
	INNER JOIN dbo.ASS_TRANSFER_MULTI_DT DT ON A.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
74
	INNER JOIN dbo.ASS_TRANSFER_CONFIRM_MASTER ACM ON A.TRANS_MULTI_MASTER_ID = ACM.TRANS_MULTI_MASTER_ID
75
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
76
	LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
77
	LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
78
	LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
79
	LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
80
	LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
81
	LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
82

    
83
	--INNER JOIN (SELECT BRANCH_ID,TRANS_MULTI_MASTER_ID,COUNT(*) AS SL FROM ASS_TRANSFER_MULTI_DT WHERE BRANCH_ID = @BRANCH_LOGIN GROUP BY BRANCH_ID,TRANS_MULTI_MASTER_ID) DTT ON DTT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID   
84

    
85
	 WHERE 1 = 1
86
		AND (A.TRANS_MULTI_MASTER_ID LIKE '%' + @p_TRANS_MULTI_MASTER_ID + '%' OR  @p_TRANS_MULTI_MASTER_ID IS NULL OR @p_TRANS_MULTI_MASTER_ID = '')	
87
		AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.TRANSFER_DT),103) >= CONVERT(DATE,@p_FROMDATE, 103) OR @p_FROMDATE IS NULL OR @p_FROMDATE ='')
88
		AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.TRANSFER_DT),103) <= CONVERT(DATE,@p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE ='')
89
		AND A.AUTH_STATUS = 'A' AND [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 0
90
		--TRẠNG THÁI XÁC NHẬN CỦA BÊN GIAO (CHO)
91
		AND ((@p_AUTH_STATUS = 'Y' AND ACM.CONFIRM_STATUS_BG = 'Y') 
92
			OR (@p_AUTH_STATUS = 'N' AND ACM.CONFIRM_STATUS_BG IS NULL)
93
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))
94

    
95
		--  TRẠNG THÁI XÁC NHẬN CỦA NHẬN
96
		AND ((@p_IS_UPDATE = 'Y' AND ACM.CONFIRM_STATUS_BN = 'Y') 
97
				OR (@p_IS_UPDATE = 'N' AND ACM.CONFIRM_STATUS_BN IS NULL)
98
				OR (@p_IS_UPDATE IS NULL OR @p_IS_UPDATE = '' ))
99

    
100
		AND ((@p_TYPE_SEARCH = 'BG' AND ((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID_OLD) <> 'HS' AND (DT.BRANCH_ID_OLD IN (SELECT BRANCH_ID_OLD FROM @tmp))
101
				OR ((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID_OLD) = 'HS' AND DT.DEPT_ID_OLD IN (SELECT DEPT_ID_OLD FROM @tmp))))
102
			OR (@p_TYPE_SEARCH = 'BN' AND (((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID) <> 'HS' AND DT.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) AND ACM.CONFIRM_STATUS_BG = 'Y')
103
				OR ((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID) = 'HS' AND DT.DEPT_ID IN (SELECT DEPT_ID FROM @tmp) AND ACM.CONFIRM_STATUS_BG = 'Y')))
104
			OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
105
		
106
	ORDER BY A.CREATE_DT DESC
107
	-- PAGING END
108

    
109
ELSE
110
	-- PAGING BEGIN
111

    
112
		SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
113
		ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
114
		@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
115
		ACM.CONFIRM_STATUS_BG, ACM.CONFIRM_STATUS_BN, ACM.TRANS_MULTI_MASTER_CONFIRM_ID	
116

    
117
		-- SELECT END
118

    
119
		FROM ASS_TRANSFER_MULTI_MASTER A
120
		INNER JOIN dbo.ASS_TRANSFER_MULTI_DT DT ON A.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
121
		INNER JOIN dbo.ASS_TRANSFER_CONFIRM_MASTER ACM ON A.TRANS_MULTI_MASTER_ID = ACM.TRANS_MULTI_MASTER_ID
122
		LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
123
		LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
124
		LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
125
		LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
126
		LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
127
		LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
128
		LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
129

    
130
	 WHERE 1 = 1
131
		AND (A.TRANS_MULTI_MASTER_ID LIKE '%' + @p_TRANS_MULTI_MASTER_ID + '%' OR  @p_TRANS_MULTI_MASTER_ID IS NULL OR @p_TRANS_MULTI_MASTER_ID = '')	
132
		AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.TRANSFER_DT),103) >= CONVERT(DATE,@p_FROMDATE, 103) OR @p_FROMDATE IS NULL OR @p_FROMDATE ='')
133
		AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.TRANSFER_DT),103) <= CONVERT(DATE,@p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE ='')
134
		AND A.AUTH_STATUS = 'A' AND [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 0
135
		--TRẠNG THÁI XÁC NHẬN CỦA BÊN GIAO (CHO)
136
		AND ((@p_AUTH_STATUS = 'Y' AND ACM.CONFIRM_STATUS_BG = 'Y') 
137
			OR (@p_AUTH_STATUS = 'N' AND ACM.CONFIRM_STATUS_BG IS NULL)
138
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))
139

    
140
		--  TRẠNG THÁI XÁC NHẬN CỦA NHẬN
141
		AND ((@p_IS_UPDATE = 'Y' AND ACM.CONFIRM_STATUS_BN = 'Y') 
142
				OR (@p_IS_UPDATE = 'N' AND ACM.CONFIRM_STATUS_BN IS NULL)
143
				OR (@p_IS_UPDATE IS NULL OR @p_IS_UPDATE = '' ))
144

    
145
		AND ((@p_TYPE_SEARCH = 'BG' AND ((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID_OLD) <> 'HS' AND (DT.BRANCH_ID_OLD IN (SELECT BRANCH_ID_OLD FROM @tmp))
146
				OR ((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID_OLD) = 'HS' AND DT.DEPT_ID_OLD IN (SELECT DEPT_ID_OLD FROM @tmp))))
147
			OR (@p_TYPE_SEARCH = 'BN' AND (((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID) <> 'HS' AND DT.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) AND ACM.CONFIRM_STATUS_BG = 'Y')
148
				OR ((SELECT BR.BRANCH_TYPE FROM dbo.CM_BRANCH BR WHERE BR.BRANCH_ID = DT.BRANCH_ID) = 'HS' AND DT.DEPT_ID IN (SELECT DEPT_ID FROM @tmp) AND ACM.CONFIRM_STATUS_BG = 'Y')))
149
			OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
150
	ORDER BY A.CREATE_DT DESC
151
	-- PAGING END
152

    
153
END -- PAGING
154