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_CONFIRM_MASTER ACM ON A.TRANS_MULTI_MASTER_ID = ACM.TRANS_MULTI_MASTER_ID
|
74
|
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
|
75
|
LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
|
76
|
LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
|
77
|
LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME
|
78
|
LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
|
79
|
LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME
|
80
|
LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
|
81
|
|
82
|
--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
|
83
|
|
84
|
WHERE 1 = 1
|
85
|
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 = '')
|
86
|
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 ='')
|
87
|
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 ='')
|
88
|
AND A.AUTH_STATUS = 'A' AND [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 0
|
89
|
--TRẠNG THÁI XÁC NHẬN CỦA BÊN GIAO (CHO)
|
90
|
AND ((@p_AUTH_STATUS = 'Y' AND ACM.CONFIRM_STATUS_BG = 'Y')
|
91
|
OR (@p_AUTH_STATUS = 'N' AND ACM.CONFIRM_STATUS_BG IS NULL)
|
92
|
OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' ))
|
93
|
|
94
|
-- TRẠNG THÁI XÁC NHẬN CỦA NHẬN
|
95
|
AND ((@p_IS_UPDATE = 'Y' AND ACM.CONFIRM_STATUS_BN = 'Y')
|
96
|
OR (@p_IS_UPDATE = 'N' AND ACM.CONFIRM_STATUS_BN IS NULL)
|
97
|
OR (@p_IS_UPDATE IS NULL OR @p_IS_UPDATE = '' ))
|
98
|
|
99
|
AND ((@p_TYPE_SEARCH = 'BG' AND EXISTS(SELECT TRANS_MULTI_MASTER_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE A.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
|
100
|
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 EXISTS(SELECT TRANS_MULTI_MASTER_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE A.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
|
103
|
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))
|
104
|
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)))))
|
105
|
OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
|
106
|
|
107
|
ORDER BY A.CREATE_DT DESC
|
108
|
-- PAGING END
|
109
|
|
110
|
ELSE
|
111
|
-- PAGING BEGIN
|
112
|
|
113
|
SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
|
114
|
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,
|
115
|
@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
|
116
|
ACM.CONFIRM_STATUS_BG, ACM.CONFIRM_STATUS_BN, ACM.TRANS_MULTI_MASTER_CONFIRM_ID
|
117
|
|
118
|
-- SELECT END
|
119
|
|
120
|
FROM ASS_TRANSFER_MULTI_MASTER A
|
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 EXISTS(SELECT TRANS_MULTI_MASTER_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE A.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
|
146
|
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))
|
147
|
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)))))
|
148
|
OR (@p_TYPE_SEARCH = 'BN' AND EXISTS(SELECT TRANS_MULTI_MASTER_ID FROM ASS_TRANSFER_MULTI_DT DT WHERE A.TRANS_MULTI_MASTER_ID = DT.TRANS_MULTI_MASTER_ID
|
149
|
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))
|
150
|
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)))))
|
151
|
OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = ''))
|
152
|
ORDER BY A.CREATE_DT DESC
|
153
|
-- PAGING END
|
154
|
|
155
|
END -- PAGING
|
156
|
|