Project

General

Profile

ASS_TRANSFER_CONFIRM_MASTER_Search.txt

Luc Tran Van, 10/28/2022 11:54 AM

 
1

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

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

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

    
39
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
40
	-- PAGING BEGIN
41

    
42
		SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
43
		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,
44
		@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
45
		ACM.CONFIRM_STATUS_BG, ACM.CONFIRM_STATUS_BN, ACM.TRANS_MULTI_MASTER_CONFIRM_ID
46
	-- SELECT END
47

    
48
	FROM ASS_TRANSFER_MULTI_MASTER A
49
	INNER JOIN dbo.ASS_TRANSFER_CONFIRM_MASTER ACM ON A.TRANS_MULTI_MASTER_ID = ACM.TRANS_MULTI_MASTER_ID
50
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
51
	LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
52
	LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
53
	LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
54
	LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
55
	LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
56
	LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
57

    
58
	--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   
59

    
60
	 WHERE 1 = 1
61
		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 = '')	
62
		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 ='')
63
		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 ='')
64
		AND A.AUTH_STATUS = 'A' AND [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 0
65
		--TRẠNG THÁI XÁC NHẬN CỦA BÊN GIAO (CHO)
66
		AND ((@p_AUTH_STATUS = 'Y' AND ACM.CONFIRM_STATUS_BG = 'Y') 
67
			OR (@p_AUTH_STATUS = 'N' AND ACM.CONFIRM_STATUS_BG IS NULL)
68
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))
69

    
70
		--  TRẠNG THÁI XÁC NHẬN CỦA NHẬN
71
		AND ((@p_IS_UPDATE = 'Y' AND ACM.CONFIRM_STATUS_BN = 'Y') 
72
				OR (@p_IS_UPDATE = 'N' AND ACM.CONFIRM_STATUS_BN IS NULL)
73
				OR (@p_IS_UPDATE IS NULL OR @p_IS_UPDATE = '' ))
74

    
75
  -- TIM KIEM THEO TRUONG DON VI GIAO TAI SAN
76
  AND ((@p_TYPE_SEARCH = 'BG' AND EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
77
    (SELECT TOP 1 DT.BRANCH_ID_OLD FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC),
78
    (SELECT TOP 1 DT.DEPT_ID_OLD FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC)) US
79
    WHERE US.TLNANME = @p_USER_LOGIN))
80
  -- TIM KIEM THEO TRUONG DON VI NHAN TAI SAN
81
  OR (@p_TYPE_SEARCH = 'BN' AND EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
82
    (SELECT TOP 1 DT.BRANCH_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC),
83
    (SELECT TOP 1 DT.DEPT_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC)) US
84
    WHERE US.TLNANME = @p_USER_LOGIN))
85
  OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
86
	AND A.CHECKER_ID>=CONVERT(DATETIME,'2022-17-10',103)
87
	ORDER BY A.CREATE_DT DESC
88
	-- PAGING END
89

    
90
ELSE
91
	-- PAGING BEGIN
92

    
93
		SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
94
		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,
95
		@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
96
		ACM.CONFIRM_STATUS_BG, ACM.CONFIRM_STATUS_BN, ACM.TRANS_MULTI_MASTER_CONFIRM_ID	
97

    
98
		-- SELECT END
99

    
100
		FROM ASS_TRANSFER_MULTI_MASTER A
101
		INNER JOIN dbo.ASS_TRANSFER_CONFIRM_MASTER ACM ON A.TRANS_MULTI_MASTER_ID = ACM.TRANS_MULTI_MASTER_ID
102
		LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
103
		LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
104
		LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
105
		LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
106
		LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
107
		LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
108
		LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
109

    
110
	 WHERE 1 = 1
111
		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 = '')	
112
		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 ='')
113
		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 ='')
114
		AND A.AUTH_STATUS = 'A' AND [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 0
115
		--TRẠNG THÁI XÁC NHẬN CỦA BÊN GIAO (CHO)
116
		AND ((@p_AUTH_STATUS = 'Y' AND ACM.CONFIRM_STATUS_BG = 'Y') 
117
			OR (@p_AUTH_STATUS = 'N' AND ACM.CONFIRM_STATUS_BG IS NULL)
118
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))
119
		--  TRẠNG THÁI XÁC NHẬN CỦA NHẬN
120
		AND ((@p_IS_UPDATE = 'Y' AND ACM.CONFIRM_STATUS_BN = 'Y') 
121
				OR (@p_IS_UPDATE = 'N' AND ACM.CONFIRM_STATUS_BN IS NULL)
122
				OR (@p_IS_UPDATE IS NULL OR @p_IS_UPDATE = '' ))
123
    -- TIM KIEM THEO TRUONG DON VI GIAO TAI SAN
124
    AND ((@p_TYPE_SEARCH = 'BG' AND EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
125
      (SELECT TOP 1 DT.BRANCH_ID_OLD FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC),
126
      (SELECT TOP 1 DT.DEPT_ID_OLD FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC)) US
127
      WHERE US.TLNANME = @p_USER_LOGIN))
128
    -- TIM KIEM THEO TRUONG DON VI NHAN TAI SAN
129
    OR (@p_TYPE_SEARCH = 'BN' AND EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
130
      (SELECT TOP 1 DT.BRANCH_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC),
131
      (SELECT TOP 1 DT.DEPT_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE DT.TRANS_MULTI_MASTER_ID = A.TRANS_MULTI_MASTER_ID ORDER BY DT.TRANSFER_MULTI_ID ASC)) US
132
      WHERE US.TLNANME = @p_USER_LOGIN))
133
    OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
134
    AND A.CHECKER_ID>=CONVERT(DATETIME,'2022-17-10',103)
135
	ORDER BY A.CREATE_DT DESC
136
	-- PAGING END
137

    
138
END -- PAGING