1
|
ALTER PROCEDURE [dbo].[TR_CONTRACT_Search]
|
2
|
@p_CONSTRACT_CODE varchar(50) = NULL,
|
3
|
@p_CONTRACT_ID varchar(15) = NULL,
|
4
|
@p_CONSTRACT_TYPE varchar(1) = NULL,
|
5
|
@p_CONSTRACT_NAME NVARCHAR(200) = NULL,
|
6
|
@p_BID_ID varchar(15) = NULL,
|
7
|
@p_BID_CODE varchar(15) = NULL,
|
8
|
@p_SUP_ID varchar(15) = NULL,
|
9
|
@p_SUP_CODE varchar(15) = NULL,
|
10
|
@P_SIGN_DT VARCHAR(20) = NULL,
|
11
|
@P_CREATE_DT VARCHAR(50) = NULL,
|
12
|
@p_AUTH_STATUS VARCHAR(1) = NULL,
|
13
|
@P_CONSTRUCT_ID VARCHAR(15) = NULL,
|
14
|
@P_CONSTRUCT_CODE VARCHAR(15) = NULL,
|
15
|
@P_START_DT VARCHAR(20) = NULL,
|
16
|
@P_END_DT VARCHAR(20) = NULL,
|
17
|
@P_CONTRACT_PARENT varchar(15) = NULL,
|
18
|
@p_REQUEST_ID varchar(15)=NULL,
|
19
|
@P_TOP INT =10,
|
20
|
@p_PYC_CODE VARCHAR(125) = NULL,
|
21
|
@p_PYC_NAME NVARCHAR(250) = NULL,
|
22
|
@p_TTCT_CODE VARCHAR(25) = NULL,
|
23
|
@p_TTCT_NAME NVARCHAR(250) = NULL,
|
24
|
@p_HH_TYPE_CODE VARCHAR(25) = NULL,
|
25
|
@p_HH_TYPE_NAME NVARCHAR(250) = NULL,
|
26
|
@p_CUST_ID VARCHAR(15) = NULL,
|
27
|
@p_CONT_TYPE VARCHAR(150) = NULL,
|
28
|
@p_BRANCH_ID VARCHAR(15)= NULL,
|
29
|
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
|
30
|
@p_LEVEL VARCHAR(15) = 'ALL',
|
31
|
@p_MAKER_ID VARCHAR(15) = NULL,
|
32
|
--------------BAODNQ 23/2/2022: Thêm tham số---------------
|
33
|
@p_CONTRACT_STATUS VARCHAR(1) = NULL,
|
34
|
@p_REQ_DOC_ID VARCHAR(15) = NULL,
|
35
|
@p_USER_LOGIN VARCHAR(15) = NULL,
|
36
|
-------------BAODNQ 13/9/2022 : Thêm DEP_LOGIN----------
|
37
|
@p_DEP_LOGIN VARCHAR(15) = NULL
|
38
|
AS
|
39
|
BEGIN -- PAGING
|
40
|
--set @p_MAKER_ID = TRIM(@p_MAKER_ID)
|
41
|
--SET @p_LEVEL='ALL'
|
42
|
|
43
|
IF(@p_LEVEL IS NULL OR @p_LEVEL = '')
|
44
|
BEGIN
|
45
|
SET @p_LEVEL = 'ALL'
|
46
|
END
|
47
|
|
48
|
-----------BAODNQ 13/9/2022 : Nếu phòng ban đăng nhập là phòng KT, set LEVEL = ALL------
|
49
|
IF(@p_DEP_LOGIN = 'DEP000000000022')
|
50
|
BEGIN
|
51
|
SET @p_LEVEL = 'ALL'
|
52
|
END
|
53
|
|
54
|
----------BAODNQ 20/10/2022 : HOT FIX TẠM THỜI-----------------
|
55
|
IF(@P_CONSTRUCT_CODE = 'Y')
|
56
|
BEGIN
|
57
|
SET @p_LEVEL = 'ALL'
|
58
|
END
|
59
|
|
60
|
SET @P_TOP =2000
|
61
|
declare @tmp table(BRANCH_ID varchar(15))
|
62
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
63
|
--- KHAI BAO TABLE SPLIT CHUOI
|
64
|
DECLARE @l_LST_CONTYPE TABLE ([ID] [int] IDENTITY(1,1) NOT NULL,[VALUE] [NVARCHAR](MAX) NULL)
|
65
|
INSERT INTO @l_LST_CONTYPE SELECT VALUE FROM WSISPLIT(@p_CONT_TYPE,',')
|
66
|
--- LUCTV 7.11.2022 BO SUNG AUTO TIM THAY HĐ DVMS
|
67
|
INSERT INTO @l_LST_CONTYPE VALUES ('MS_DV')
|
68
|
--- END LUCTV 7.11.2022
|
69
|
|
70
|
DECLARE @t_CONTRACT_PAYMENT TABLE(
|
71
|
REF_ID VARCHAR(15), TOTAL_AMT_PAY DECIMAL(18,0), TRN_TYPE VARCHAR(20))
|
72
|
|
73
|
INSERT INTO @t_CONTRACT_PAYMENT
|
74
|
SELECT REF_ID, ISNULL(SUM(AMT_PAY_REAL),0) AS TOTAL_AMT_PAY, TRN_TYPE
|
75
|
FROM TR_REQ_PAY_SCHEDULE
|
76
|
WHERE AUTH_STATUS_KT = 'A'
|
77
|
GROUP BY TRN_TYPE, REF_ID
|
78
|
|
79
|
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE
|
80
|
(BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
|
81
|
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
|
82
|
SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
|
83
|
---LUCTV 26.04.2023 KHAI BAO PHẦN ỦY QUYỀN ĐƠN VỊ UPDATE 26042023_secretkey
|
84
|
DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
|
85
|
INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
|
86
|
INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND
|
87
|
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
|
88
|
---LUCTV
|
89
|
IF(@p_CONSTRACT_TYPE = '2')
|
90
|
IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
|
91
|
-- PAGING BEGIN
|
92
|
SELECT A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
|
93
|
D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
|
94
|
ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,'' AS SO_PYC, '' AS TEN_PYC,
|
95
|
'' AS SO_TT_CT, '' AS TEN_TT_CT, A.CREATE_DT AS NGAY_NHAN_TT, A.CREATE_DT AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME,
|
96
|
'' AS NCC_ADDR, B.TAX_NO,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME,CA.CONTENT AS CONT_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,
|
97
|
BR.BRANCH_CODE, BR.BRANCH_NAME, '' AS TO_TRINH_ID,B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,
|
98
|
0.0 AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
|
99
|
0.0 AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
|
100
|
0.0 AS TOTAL_REMAIN_AMT,
|
101
|
'' AS IS_FLAG_END, TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
|
102
|
---------BAODNQ 16/5/2022: Lấy thêm cột-------
|
103
|
CASE
|
104
|
WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
|
105
|
ELSE B.ADDR
|
106
|
END
|
107
|
AS ADDR
|
108
|
--A.ADDRESS AS ADDR
|
109
|
-- SELECT END
|
110
|
FROM TR_CONTRACT A
|
111
|
LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
|
112
|
LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
|
113
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
114
|
LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
|
115
|
LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
|
116
|
LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
|
117
|
LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
|
118
|
LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
|
119
|
LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
|
120
|
LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
|
121
|
LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
|
122
|
|
123
|
WHERE 1=1
|
124
|
AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
|
125
|
AND (F.CONSTRUCT_ID like '%'+@P_CONSTRUCT_ID+'%' OR @P_CONSTRUCT_ID IS NULL OR @P_CONSTRUCT_ID like '')
|
126
|
AND (F.CONSTRUCT_CODE like '%'+@P_CONSTRUCT_CODE+'%' OR @P_CONSTRUCT_CODE IS NULL OR @P_CONSTRUCT_CODE like '')
|
127
|
AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
|
128
|
AND (A.CONTRACT_ID like '%'+@p_CONTRACT_ID+'%' OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
|
129
|
AND (A.[CONTRACT_NAME] like '%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
|
130
|
AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
|
131
|
AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
|
132
|
AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
|
133
|
AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
|
134
|
AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
|
135
|
AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
|
136
|
AND (DATEDIFF(DAY,A.START_DT,CONVERT(DATETIME, @P_START_DT, 103)) = 0 OR @P_START_DT IS NULL OR @P_START_DT='')
|
137
|
AND (DATEDIFF(DAY,A.END_DT,CONVERT(DATETIME, @P_END_DT, 103)) = 0 OR @P_END_DT IS NULL OR @P_END_DT='')
|
138
|
AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
|
139
|
AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
|
140
|
AND (A.CONTRACT_PARENT like '%'+@P_CONTRACT_PARENT+'%' OR @P_CONTRACT_PARENT IS NULL OR @P_CONTRACT_PARENT like '')
|
141
|
AND A.RECORD_STATUS = '1'
|
142
|
AND (A.REQUEST_ID LIKE '%' + @p_REQUEST_ID + '%' OR @p_REQUEST_ID IS NULL OR @p_REQUEST_ID = '')
|
143
|
AND(EXISTS(SELECT HH_ID FROM CM_HANGHOA HH LEFT JOIN CM_HANGHOA_TYPE HT ON HH.HH_TYPE_ID=HT.HH_TYPE_ID WHERE
|
144
|
(HT.HH_TYPE_CODE LIKE '%' + @p_HH_TYPE_CODE + '%' OR @p_HH_TYPE_CODE = '' OR @p_HH_TYPE_CODE IS NULL)
|
145
|
AND (HT.HH_TYPE_NAME LIKE N'%' + @p_HH_TYPE_NAME + '%' OR @p_HH_TYPE_NAME = '' OR @p_HH_TYPE_NAME IS NULL) AND HH.HH_ID=PT.GOODS_ID))
|
146
|
AND (A.CUST_ID =@p_CUST_ID OR @p_CUST_ID IS NULL OR @p_CUST_ID ='')
|
147
|
AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
|
148
|
AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
|
149
|
OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL OR A.BRANCH_ID IN (SELECT BRN_AUTH FROM @BRANCH_AUTH))
|
150
|
--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
|
151
|
AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
|
152
|
--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
|
153
|
--AND(
|
154
|
-- A.MAKER_ID = @p_USER_LOGIN
|
155
|
-- OR(
|
156
|
-- ------user login là trưởng ĐV ở hội sở--------
|
157
|
-- (
|
158
|
-- EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
159
|
-- AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID)
|
160
|
-- = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
161
|
-- )
|
162
|
-- ------user login là trưởng ĐV ở CN/PGD
|
163
|
-- OR
|
164
|
-- (
|
165
|
-- NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
166
|
-- AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
|
167
|
-- )
|
168
|
-- AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
|
169
|
-- )
|
170
|
-- OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
|
171
|
--)
|
172
|
--)
|
173
|
ORDER BY A.CREATE_DT DESC
|
174
|
-- PAGING END
|
175
|
ELSE
|
176
|
-- PAGING BEGIN
|
177
|
SELECT TOP(CONVERT(INT,@P_TOP)) A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL,
|
178
|
B.CONTACT_PERSON AS SUP_CONTACT_PERSON, D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
|
179
|
ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,'' AS TEN_PYC,
|
180
|
'' AS SO_TT_CT, A.CREATE_DT AS NGAY_NHAN_TT, '' AS TEN_TT_CT, A.CREATE_DT AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,B.TAX_NO,
|
181
|
CA.CONTENT AS CONT_TYPE_NAME,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,BR.BRANCH_CODE, BR.BRANCH_NAME,'' AS TO_TRINH_ID,
|
182
|
B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,0.0 AS TOTAL_ADV_AMT, 0.0 AS TOTAL_PAY_AMT,'' AS IS_FLAG_END,
|
183
|
TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
|
184
|
---------BAODNQ 16/5/2022: Lấy thêm cột-------
|
185
|
CASE
|
186
|
WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
|
187
|
ELSE B.ADDR
|
188
|
END
|
189
|
AS ADDR
|
190
|
--A.ADDRESS AS ADDR
|
191
|
-- SELECT END
|
192
|
FROM TR_CONTRACT A
|
193
|
LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
|
194
|
LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
|
195
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
196
|
LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
|
197
|
LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
|
198
|
LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
|
199
|
LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
|
200
|
LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
|
201
|
LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
|
202
|
LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
|
203
|
LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
|
204
|
|
205
|
WHERE 1=1
|
206
|
AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
|
207
|
AND (F.CONSTRUCT_ID like '%'+@P_CONSTRUCT_ID+'%' OR @P_CONSTRUCT_ID IS NULL OR @P_CONSTRUCT_ID like '')
|
208
|
AND (F.CONSTRUCT_CODE like '%'+@P_CONSTRUCT_CODE+'%' OR @P_CONSTRUCT_CODE IS NULL OR @P_CONSTRUCT_CODE like '')
|
209
|
AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
|
210
|
AND (A.CONTRACT_ID like '%'+@p_CONTRACT_ID+'%' OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
|
211
|
AND (A.[CONTRACT_NAME] like '%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
|
212
|
AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
|
213
|
AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
|
214
|
AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
|
215
|
AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
|
216
|
AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
|
217
|
AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
|
218
|
AND (DATEDIFF(DAY,A.START_DT,CONVERT(DATETIME, @P_START_DT, 103)) = 0 OR @P_START_DT IS NULL OR @P_START_DT='')
|
219
|
AND (DATEDIFF(DAY,A.END_DT,CONVERT(DATETIME, @P_END_DT, 103)) = 0 OR @P_END_DT IS NULL OR @P_END_DT='')
|
220
|
AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
|
221
|
AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
|
222
|
AND (A.CONTRACT_PARENT like '%'+@P_CONTRACT_PARENT+'%' OR @P_CONTRACT_PARENT IS NULL OR @P_CONTRACT_PARENT like '')
|
223
|
AND A.RECORD_STATUS = '1'
|
224
|
AND (A.REQUEST_ID LIKE '%' + @p_REQUEST_ID + '%' OR @p_REQUEST_ID IS NULL OR @p_REQUEST_ID = '')
|
225
|
AND(EXISTS(SELECT HH_ID FROM CM_HANGHOA HH LEFT JOIN CM_HANGHOA_TYPE HT ON HH.HH_TYPE_ID=HT.HH_TYPE_ID WHERE
|
226
|
(HT.HH_TYPE_CODE LIKE '%' + @p_HH_TYPE_CODE + '%' OR @p_HH_TYPE_CODE = '' OR @p_HH_TYPE_CODE IS NULL)
|
227
|
AND (HT.HH_TYPE_NAME LIKE N'%' + @p_HH_TYPE_NAME + '%' OR @p_HH_TYPE_NAME = '' OR @p_HH_TYPE_NAME IS NULL) AND HH.HH_ID=PT.GOODS_ID))
|
228
|
AND (A.CUST_ID =@p_CUST_ID OR @p_CUST_ID IS NULL OR @p_CUST_ID ='')
|
229
|
--AND (A.CONT_TYPE =@p_CONT_TYPE OR (@p_CONT_TYPE IS NULL OR @p_CONT_TYPE =''))
|
230
|
AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
|
231
|
AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
|
232
|
OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL OR A.BRANCH_ID IN (SELECT BRN_AUTH FROM @BRANCH_AUTH))
|
233
|
--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
|
234
|
AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
|
235
|
--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
|
236
|
--AND(
|
237
|
-- A.MAKER_ID = @p_USER_LOGIN
|
238
|
-- OR(
|
239
|
-- ------user login là trưởng ĐV ở hội sở--------
|
240
|
-- (
|
241
|
-- EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
242
|
-- AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID)
|
243
|
-- = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
244
|
-- )
|
245
|
-- ------user login là trưởng ĐV ở CN/PGD
|
246
|
-- OR
|
247
|
-- (
|
248
|
-- NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
249
|
-- AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
|
250
|
-- )
|
251
|
-- AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
|
252
|
-- )
|
253
|
-- OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
|
254
|
--)
|
255
|
ORDER BY A.CREATE_DT DESC
|
256
|
-- PAGING END
|
257
|
ELSE
|
258
|
IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
|
259
|
-- PAGING BEGIN
|
260
|
SELECT A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
|
261
|
D.AUTH_STATUS_NAME,
|
262
|
ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,
|
263
|
DC.REQ_CODE AS SO_PYC, DC.REQ_NAME AS TEN_PYC, DC.REQ_ID AS PYC_ID, DC.REQ_ID AS TR_REQ_ID,
|
264
|
T.REQ_CODE AS SO_TT_CT, T.REQ_NAME AS TEN_TT_CT, T.CREATE_DT AS NGAY_NHAN_TT, T.APPROVE_DT AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR, B.TAX_NO,
|
265
|
CA.CONTENT AS CONT_TYPE_NAME,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,BR.BRANCH_CODE, BR.BRANCH_NAME,T.REQ_ID AS TO_TRINH_ID,
|
266
|
B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,
|
267
|
ISNULL(ADV.TOTAL_AMT_PAY,0) AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
|
268
|
ISNULL(PA.TOTAL_AMT_PAY,0) AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
|
269
|
A.TOTAL_AMT - ISNULL((PA.TOTAL_AMT_PAY),0) AS TOTAL_REMAIN_AMT,
|
270
|
CASE
|
271
|
WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
|
272
|
THEN N'Đang tạm ứng'
|
273
|
WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND (A.TOTAL_AMT - ISNULL((ADV.TOTAL_AMT_PAY + PA.TOTAL_AMT_PAY),0)) <> 0
|
274
|
THEN N'Thanh toán 1 phần'
|
275
|
WHEN (A.TOTAL_AMT - (ADV.TOTAL_AMT_PAY - PA.TOTAL_AMT_PAY)) = 0
|
276
|
THEN N'Thanh toán xong'
|
277
|
WHEN ISNULL(ADV.TOTAL_AMT_PAY, 0) = 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
|
278
|
THEN N'Chưa thanh toán'
|
279
|
END
|
280
|
AS STATUS,
|
281
|
'' AS IS_FLAG_END, TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
|
282
|
---------BAODNQ 16/5/2022: Lấy thêm cột-------
|
283
|
CASE
|
284
|
WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
|
285
|
ELSE B.ADDR
|
286
|
END
|
287
|
AS ADDR,
|
288
|
--------------BAODNQ 12/7/2022----------
|
289
|
CMS.DMMS_NAME
|
290
|
--A.ADDRESS AS ADDR
|
291
|
-- SELECT END
|
292
|
FROM TR_CONTRACT A
|
293
|
LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
|
294
|
LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
|
295
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
296
|
LEFT JOIN TR_REQUEST_DOC DC ON A.REQ_DOC_ID = DC.REQ_ID
|
297
|
LEFT JOIN PL_REQUEST_DOC T ON DC.PL_REQ_ID = T.REQ_ID
|
298
|
LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
|
299
|
--LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
|
300
|
LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
|
301
|
LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
|
302
|
-------------BAODNQ 12/7/2022------------------
|
303
|
LEFT JOIN(
|
304
|
SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
|
305
|
dbo.CM_DMMS
|
306
|
LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
|
307
|
LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
|
308
|
UNION ALL
|
309
|
SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
|
310
|
FROM dbo.CM_DVDM
|
311
|
)CMS ON CMS.DMMS_ID = DC.DMMS_ID
|
312
|
LEFT JOIN @t_CONTRACT_PAYMENT ADV ON ADV.REF_ID = A.CONTRACT_ID AND ADV.TRN_TYPE = 'ADV_PAY'
|
313
|
LEFT JOIN @t_CONTRACT_PAYMENT PA ON PA.REF_ID = A.CONTRACT_ID AND PA.TRN_TYPE = 'PAY'
|
314
|
LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
|
315
|
LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
|
316
|
|
317
|
WHERE 1=1
|
318
|
AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
|
319
|
AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
|
320
|
AND (A.CONTRACT_ID =@p_CONTRACT_ID OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
|
321
|
AND (A.[CONTRACT_NAME] like N'%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
|
322
|
AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
|
323
|
AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
|
324
|
AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
|
325
|
AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
|
326
|
AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
|
327
|
AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
|
328
|
AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
|
329
|
AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
|
330
|
AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
|
331
|
AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
|
332
|
OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL OR A.CONT_TYPE ='DK' OR A.BRANCH_ID IN (SELECT BRN_AUTH FROM @BRANCH_AUTH))
|
333
|
--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
|
334
|
AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
|
335
|
AND (DC.REQ_CODE =@p_PYC_CODE OR @p_PYC_CODE IS NULL OR @p_PYC_CODE ='' OR DC.REQ_ID =@p_PYC_CODE)
|
336
|
AND (T.REQ_CODE =@p_TTCT_CODE OR @p_TTCT_CODE IS NULL OR @p_TTCT_CODE ='' OR T.REQ_ID =@p_TTCT_CODE)
|
337
|
AND ( (LEN(@p_CUST_ID)=1 AND
|
338
|
((@p_CUST_ID ='Y' AND (CONVERT(DATE, GETDATE(),103) <= CONVERT(DATE, A.END_DT,103) OR A.END_DT IS NULL))
|
339
|
OR (@p_CUST_ID ='N' AND (CONVERT(DATE, GETDATE(),103) > CONVERT(DATE, A.END_DT,103)))
|
340
|
))
|
341
|
OR (LEN(@p_CUST_ID) >1 AND A.CUST_ID =@p_CUST_ID)
|
342
|
OR (@p_CUST_ID IS NULL OR @p_CUST_ID ='')
|
343
|
)
|
344
|
----------------------BAODNQ 23/2/2022-----------Thêm điều kiện tìm kiếm-----------------
|
345
|
AND(
|
346
|
--------Còn hiệu lực------
|
347
|
--------------BAODNQ 19/10/2022 : Nếu k nhập ngày hết hiệu lực thì tình trạng là còn hiệu lực-----
|
348
|
((@p_CONTRACT_STATUS = 'C')
|
349
|
AND (CONVERT(DATE, A.END_DT, 103) >= CONVERT(DATE, GETDATE(), 103))
|
350
|
OR(A.END_DT IS NULL OR A.END_DT = '')
|
351
|
)
|
352
|
OR
|
353
|
--------Hết hiệu lực------
|
354
|
((@p_CONTRACT_STATUS = 'H') AND (CONVERT(DATE, A.END_DT, 103) < CONVERT(DATE, GETDATE(), 103)))
|
355
|
OR (@p_CONTRACT_STATUS IS NULL OR @p_CONTRACT_STATUS = '')
|
356
|
)
|
357
|
AND (A.REQ_DOC_ID = @p_REQ_DOC_ID OR @p_REQ_DOC_ID IS NULL OR @p_REQ_DOC_ID = '')
|
358
|
--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
|
359
|
--AND(
|
360
|
-- A.MAKER_ID = @p_USER_LOGIN
|
361
|
-- OR(
|
362
|
-- ------user login là trưởng ĐV ở hội sở--------
|
363
|
-- (
|
364
|
-- EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
365
|
-- AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID)
|
366
|
-- = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
367
|
-- )
|
368
|
-- ------user login là trưởng ĐV ở CN/PGD
|
369
|
-- OR
|
370
|
-- (
|
371
|
-- NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
372
|
-- AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
|
373
|
-- )
|
374
|
-- AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
|
375
|
-- )
|
376
|
-- OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
|
377
|
--)
|
378
|
ORDER BY A.CREATE_DT DESC
|
379
|
-- PAGING END
|
380
|
ELSE
|
381
|
-- PAGING BEGIN
|
382
|
SELECT TOP(CONVERT(INT,@P_TOP)) A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
|
383
|
D.AUTH_STATUS_NAME,
|
384
|
ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,
|
385
|
DC.REQ_CODE AS SO_PYC, DC.REQ_NAME AS TEN_PYC, DC.REQ_ID AS PYC_ID, DC.REQ_ID AS TR_REQ_ID,
|
386
|
T.REQ_CODE AS SO_TT_CT, T.REQ_NAME AS TEN_TT_CT, T.CREATE_DT AS NGAY_NHAN_TT, T.APPROVE_DT AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, N'Họp đồng số: '+ A.CONTRACT_ID +N' đã hết hiệu lực' NCC_ADDR, B.TAX_NO,
|
387
|
CA.CONTENT AS CONT_TYPE_NAME,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,BR.BRANCH_CODE, BR.BRANCH_NAME, T.REQ_ID AS TO_TRINH_ID,
|
388
|
B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,
|
389
|
ISNULL(ADV.TOTAL_AMT_PAY,0) AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
|
390
|
ISNULL(PA.TOTAL_AMT_PAY,0) AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
|
391
|
A.TOTAL_AMT - ISNULL((PA.TOTAL_AMT_PAY),0) AS TOTAL_REMAIN_AMT,
|
392
|
CASE
|
393
|
WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
|
394
|
THEN N'Đang tạm ứng'
|
395
|
WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND (A.TOTAL_AMT - ISNULL((ADV.TOTAL_AMT_PAY + PA.TOTAL_AMT_PAY),0)) <> 0
|
396
|
THEN N'Thanh toán 1 phần'
|
397
|
WHEN (A.TOTAL_AMT - (ADV.TOTAL_AMT_PAY - PA.TOTAL_AMT_PAY)) = 0
|
398
|
THEN N'Thanh toán xong'
|
399
|
WHEN ISNULL(ADV.TOTAL_AMT_PAY, 0) = 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
|
400
|
THEN N'Chưa thanh toán'
|
401
|
END
|
402
|
AS STATUS,
|
403
|
CASE WHEN CONVERT(DATE, A.END_DT, 103) < CONVERT(DATE, GETDATE(), 103) AND A.END_DT IS NOT NULL AND A.END_DT <> ''
|
404
|
THEN N'Hợp đồng số :' + A.CONTRACT_ID + N' đã hết hiệu lực kể từ ngày ' + FORMAT(DATEADD(DAY,1,A.END_DT),'dd/MM/yyyy') ELSE '' END AS IS_FLAG_END,
|
405
|
TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
|
406
|
---------BAODNQ 16/5/2022: Lấy thêm cột-------
|
407
|
CASE
|
408
|
WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
|
409
|
ELSE B.ADDR
|
410
|
END
|
411
|
AS ADDR,
|
412
|
CMS.DMMS_NAME
|
413
|
--A.ADDRESS AS ADDR
|
414
|
-- SELECT END
|
415
|
FROM TR_CONTRACT A
|
416
|
LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
|
417
|
LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
|
418
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
419
|
LEFT JOIN TR_REQUEST_DOC DC ON A.REQ_DOC_ID = DC.REQ_ID
|
420
|
LEFT JOIN PL_REQUEST_DOC T ON DC.PL_REQ_ID = T.REQ_ID
|
421
|
LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
|
422
|
--LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
|
423
|
LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
|
424
|
LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
|
425
|
-------------BAODNQ 12/7/2022------------------
|
426
|
LEFT JOIN(
|
427
|
SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
|
428
|
dbo.CM_DMMS
|
429
|
LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
|
430
|
LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
|
431
|
UNION ALL
|
432
|
SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
|
433
|
FROM dbo.CM_DVDM
|
434
|
)CMS ON CMS.DMMS_ID = DC.DMMS_ID
|
435
|
LEFT JOIN @t_CONTRACT_PAYMENT ADV ON ADV.REF_ID = A.CONTRACT_ID AND ADV.TRN_TYPE = 'ADV_PAY'
|
436
|
LEFT JOIN @t_CONTRACT_PAYMENT PA ON PA.REF_ID = A.CONTRACT_ID AND PA.TRN_TYPE = 'PAY'
|
437
|
LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
|
438
|
LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
|
439
|
|
440
|
WHERE 1=1
|
441
|
AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
|
442
|
AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
|
443
|
AND (A.CONTRACT_ID =@p_CONTRACT_ID OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
|
444
|
AND (A.[CONTRACT_NAME] like N'%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
|
445
|
AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
|
446
|
AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
|
447
|
AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
|
448
|
AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
|
449
|
AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
|
450
|
AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
|
451
|
AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
|
452
|
AND( DC.REQ_CODE like '%'+@p_PYC_CODE +'%' OR @p_PYC_CODE IS NULL OR @p_PYC_CODE like '' )
|
453
|
AND( T.REQ_CODE like '%'+@p_TTCT_CODE +'%' OR @p_TTCT_CODE IS NULL OR @p_TTCT_CODE like '' )
|
454
|
AND( T.REQ_NAME like N'%'+@p_TTCT_NAME +'%' OR @p_TTCT_NAME IS NULL OR @p_TTCT_NAME like '' )
|
455
|
AND A.RECORD_STATUS = '1'
|
456
|
AND ((LEN(@p_CUST_ID)=1 AND
|
457
|
((@p_CUST_ID ='Y' AND (CONVERT(DATE, GETDATE(),103) <= CONVERT(DATE, A.END_DT,103) OR A.END_DT IS NULL))
|
458
|
OR (@p_CUST_ID ='N' AND (CONVERT(DATE, GETDATE(),103) > CONVERT(DATE, A.END_DT,103)))
|
459
|
))
|
460
|
OR (LEN(@p_CUST_ID) >1 AND A.CUST_ID =@p_CUST_ID)
|
461
|
OR (@p_CUST_ID IS NULL OR @p_CUST_ID ='')
|
462
|
)
|
463
|
AND (A.CONT_TYPE IN (SELECT [VALUE] FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
|
464
|
AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
|
465
|
OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL OR A.CONT_TYPE ='NT' OR A.BRANCH_ID IN (SELECT BRN_AUTH FROM @BRANCH_AUTH))
|
466
|
--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
|
467
|
AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
|
468
|
AND (DC.REQ_CODE =@p_PYC_CODE OR @p_PYC_CODE IS NULL OR @p_PYC_CODE ='' OR DC.REQ_ID =@p_PYC_CODE)
|
469
|
--AND (T.REQ_CODE =@p_TTCT_CODE OR @p_TTCT_CODE IS NULL OR @p_TTCT_CODE ='' OR T.REQ_ID =@p_TTCT_CODE)
|
470
|
----------------------BAODNQ 23/2/2022-----------Thêm điều kiện tìm kiếm-----------------
|
471
|
AND(
|
472
|
--------Còn hiệu lực------
|
473
|
((@p_CONTRACT_STATUS = 'C')
|
474
|
AND (CONVERT(DATE, A.END_DT, 103) >= CONVERT(DATE, GETDATE(), 103))
|
475
|
OR(A.END_DT IS NULL OR A.END_DT = '')
|
476
|
)
|
477
|
OR
|
478
|
--------Hết hiệu lực------
|
479
|
((@p_CONTRACT_STATUS = 'H') AND (CONVERT(DATE, A.END_DT, 103) < CONVERT(DATE, GETDATE(), 103)))
|
480
|
OR (@p_CONTRACT_STATUS IS NULL OR @p_CONTRACT_STATUS = '')
|
481
|
)
|
482
|
--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
|
483
|
--AND(
|
484
|
-- A.MAKER_ID = @p_USER_LOGIN
|
485
|
-- OR(
|
486
|
-- ------user login là trưởng ĐV ở hội sở--------
|
487
|
-- (
|
488
|
-- EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
489
|
-- AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID)
|
490
|
-- = (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
491
|
-- )
|
492
|
-- ------user login là trưởng ĐV ở CN/PGD
|
493
|
-- OR
|
494
|
-- (
|
495
|
-- NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
|
496
|
-- AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
|
497
|
-- )
|
498
|
-- AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
|
499
|
-- )
|
500
|
-- OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
|
501
|
--)
|
502
|
AND (A.REQ_DOC_ID = @p_REQ_DOC_ID OR @p_REQ_DOC_ID IS NULL OR @p_REQ_DOC_ID = '')
|
503
|
|
504
|
ORDER BY A.CREATE_DT DESC
|
505
|
-- PAGING END
|
506
|
END -- PAGING
|