Project

General

Profile

FILE PL_REQ_GD_SEARCG.txt

Truong Nguyen Vu, 10/23/2020 10:17 AM

 
1

    
2
 
3
ALTER PROCEDURE [dbo].[PL_REQ_GOOD_Search]  
4
@P_REQDT_TYPE varchar(1)= NULL,  
5
@p_GD_ID VARCHAR(15) = NULL,  
6
@p_GD_CODE varchar(15) = NULL,  
7
@p_GD_NAME nvarchar(200) = NULL,  
8
@p_BRANCH_CODE varchar(15) = NULL,  
9
@p_BRANCH_ID VARCHAR(20) = NULL,  
10
@p_DEP_ID VARCHAR(20) = NULL,  
11
@p_BRANCH_LOGIN varchar(15) = NULL,  
12
@p_USER_LOGIN VARCHAR(20) = NULL,  
13
@P_PLAN_ID NVARCHAR(15) = NULL,  
14
@P_HH_ID VARCHAR(15),  
15
@p_GD_TYPE_ID VARCHAR(20) = NULL,  
16
@p_GD_TYPE_CODE VARCHAR(20)= NULL,  
17
@p_GD_TYPE_NAME NVARCHAR(500)= NULL,  
18
@p_DVDM_ID VARCHAR(15) = NULL,
19
@p_PLAN_TYPE_ID VARCHAR(15) = NULL,
20
@p_TYPE_NS VARCHAR(15) = NULL,
21
@P_TOP INT = null  
22
AS  
23
BEGIN  
24
DECLARE  
25
@l_QUANTITY numeric(18,0)=0, @l_QUANTITY_EXE decimal(18,0)=0, @l_QUANTITY_REMAIN decimal(18,0)=0,  
26
@l_AMT numeric(18,0)=0, @l_AMT_EXE decimal(18,0)=0, @l_AMT_REMAIN decimal(18,0)=0,@GD_CODE VARCHAR(50),  
27
@BRANCH_TYPE VARCHAR(20),@BRANCH_LOGIN VARCHAR(20),@DEP_LOGIN VARCHAR(20),@ROLE_USER VARCHAR(20),@IS_ALL BIT,@IS_CHUNG BIT  
28
DECLARE @IS_HANHCHINH BIT  
29
SET @IS_HANHCHINH=0  
30
 
31
SET @IS_ALL=0  
32
 
33
DECLARE @DVDM_ID TABLE( DVDM_ID VARCHAR(20))  
34
 DECLARE @TRADE_REF TABLE( TRADE_ID VARCHAR (20))
35

    
36
SELECT @BRANCH_LOGIN=TLSUBBRID,@DEP_LOGIN=SECUR_CODE ,@ROLE_USER=RoleName FROM dbo.TL_USER WHERE TLNANME=@p_USER_LOGIN  
37

    
38

    
39
IF(@p_BRANCH_CODE IS NOT NULL AND @p_BRANCH_CODE <>'')
40
	SELECT TOP 1 @p_DEP_ID=DEP_ID,@p_BRANCH_ID=BRANCH_ID FROM dbo.CM_DEPARTMENT WHERE DEP_CODE=@p_BRANCH_CODE
41

    
42
IF(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)
43
	SET @p_BRANCH_ID=@BRANCH_LOGIN
44

    
45
IF(EXISTS(SELECT * FROM dbo.CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID AND BRANCH_TYPE = 'HS'))
46
BEGIN
47
IF(@p_DEP_ID='' OR @p_DEP_ID IS NULL)
48
	SET @p_DEP_ID=@DEP_LOGIN
49
END
50

    
51
SET @BRANCH_TYPE= (SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_ID)  
52

    
53
INSERT @TRADE_REF
54
SELECT TRADE_ID  FROM dbo.PL_TRADE_REF WHERE REF_CODE IN (SELECT DEP_CODE FROM dbo.CM_DEPARTMENT WHERE BRANCH_ID=@BRANCH_LOGIN)
55

    
56
PRINT @BRANCH_TYPE
57
IF(EXISTS(SELECT ID FROM PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE='PL_MASTER' AND BRANCH_ID=@BRANCH_LOGIN AND DEP_ID=@DEP_LOGIN))  
58
SET @IS_ALL=1  
59
 
60
 
61

    
62

    
63
SET @IS_CHUNG=0  
64
 
65
IF(EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG WHERE BRANCH_ID=@p_BRANCH_ID AND DEP_ID=@p_DEP_ID AND ROLE_TYPE='TRADE_USER_ALL'))  
66
BEGIN  
67
 
68
 
69
 
70
IF(EXISTS(  
71
SELECT CC.DVDM_ID FROM dbo.CM_DVDM DM  
72
LEFT JOIN dbo.PL_COSTCENTER CC ON DM.DVDM_ID=CC.DVDM_ID  
73
LEFT JOIN dbo.PL_COSTCENTER_DT CT ON CT.COST_ID=CC.COST_ID  
74
WHERE CT.DEP_ID=@DEP_LOGIN AND CT.BRANCH_ID=@p_BRANCH_ID AND DM.IS_KHOI=1 AND CC.DVDM_ID IN (SELECT CC.DVDM_ID FROM dbo.CM_DVDM DM  
75
LEFT JOIN dbo.PL_COSTCENTER CC ON DM.DVDM_ID=CC.DVDM_ID  
76
LEFT JOIN dbo.PL_COSTCENTER_DT CT ON CT.COST_ID=CC.COST_ID  
77
WHERE CT.DEP_ID=@p_DEP_ID AND CT.BRANCH_ID=@p_BRANCH_ID AND DM.IS_KHOI=1  
78
)))  
79
SET @IS_CHUNG=1  
80
END  
81

    
82

    
83

    
84

    
85

    
86
IF(EXISTS(SELECT ID FROM dbo.PL_ROLE_DATA_CONFIG WHERE BRANCH_ID=@BRANCH_LOGIN AND DEP_ID=@DEP_LOGIN AND ROLE_TYPE='HANHCHINH'))  
87
BEGIN  
88
SET @IS_HANHCHINH=1  
89
END  
90
 
91
 
92
---PRINT @IS_CHUNG  
93
 
94
IF(@IS_ALL=1 OR @ROLE_USER='TGD')  
95
BEGIN  
96
INSERT INTO @DVDM_ID  
97
SELECT DVDM_ID FROM dbo.CM_DVDM WHERE IS_DVDM=1  
98
END  
99
ELSE  
100
BEGIN  
101
INSERT INTO @DVDM_ID  
102
SELECT PC.DVDM_ID FROM  
103
dbo.PL_COSTCENTER PC  
104
LEFT JOIN dbo.PL_COSTCENTER_DT PT ON PT.COST_ID=PC.COST_ID  
105
WHERE PT.DEP_ID=@DEP_LOGIN AND PT.BRANCH_ID=@BRANCH_LOGIN AND EXISTS(SELECT DVDM_ID FROM dbo.CM_DVDM WHERE IS_DVDM=1)  
106
 
107
END  
108
 
109
 
110
 
111
DECLARE @lstGD TABLE (  
112
GD_ID VARCHAR(20)  
113
)  
114
 
115
DECLARE @lstGD_CODE TABLE (  
116
GD_CODE VARCHAR(20)  
117
)  
118
INSERT INTO @lstGD  
119
SELECT GD_ID FROM dbo.CM_HANGHOA_GOODS WHERE HH_ID=@P_HH_ID  
120
 
121
 
122
IF(@P_HH_ID IS NOT NULL AND @P_HH_ID <>'')  
123
BEGIN  
124
IF(NOT EXISTS(SELECT PM.PLAN_ID FROM dbo.PL_MASTER PM  
125
LEFT JOIN dbo.PL_TRADEDETAIL PT ON PT.PLAN_ID=PM.PLAN_ID  
126
WHERE (PT.GOODS_ID =@p_GD_ID OR EXISTS(SELECT GD_ID FROM @lstGD WHERE [@lstGD].GD_ID=PT.GOODS_ID))  
127
AND PM.YEAR = YEAR(GETDATE())  
128
AND (  
129
(  
130
@BRANCH_TYPE='HS' AND PM.BRANCH_ID =@p_BRANCH_ID AND PM.DEPT_ID=@p_DEP_ID  
131
AND( @IS_CHUNG=1 OR @IS_HANHCHINH=1 OR @IS_ALL=1 OR PT.TRADE_ID IN (SELECT TRADE_ID FROM @TRADE_REF) OR ((@p_DEP_ID = @DEP_LOGIN) OR (@p_DEP_ID <> @DEP_LOGIN AND (PM.COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID)))))   
132
)  
133
OR  
134
(@BRANCH_TYPE='CN' AND PM.BRANCH_ID =@p_BRANCH_ID AND ((@p_BRANCH_ID=@BRANCH_LOGIN) OR @IS_HANHCHINH=1 OR @IS_ALL=1 OR PT.TRADE_ID IN (SELECT TRADE_ID FROM @TRADE_REF) OR (PM.COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID))  ))  
135
OR  
136
(@BRANCH_TYPE='PGD' AND PM.BRANCH_ID =@p_BRANCH_ID AND (@p_BRANCH_ID=@BRANCH_LOGIN OR PT.TRADE_ID IN (SELECT TRADE_ID FROM @TRADE_REF) OR @IS_HANHCHINH=1 OR @IS_ALL=1  OR (PM.COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID)) OR (@p_BRANCH_ID <> @BRANCH_LOGIN AND PM.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@BRANCH_LOGIN) ))) )  
137
)
138
OR
139
( 
140
	EXISTS (SELECT * FROM dbo.PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE='TRADE_USER_VIEW' AND BRANCH_ID=@p_USER_LOGIN AND DEP_ID=PT.GOODS_ID)
141
)
142
)  
143
 
144
)  
145
BEGIN  
146
SET @P_REQDT_TYPE='O'  
147
INSERT INTO @lstGD_CODE  
148
SELECT REPLACE(GD_CODE,'.I.','.O.') FROM dbo.CM_GOODS WHERE GD_ID IN (SELECT GD_ID FROM @lstGD)  
149
END  
150
END  
151
 
152
 
153
 
154

    
155
 PRINT @p_BRANCH_ID
156
 PRINT @p_DEP_ID
157
 PRINT @BRANCH_LOGIN
158

    
159

    
160
IF(@P_REQDT_TYPE='I')  
161
BEGIN  
162
IF(@P_PLAN_ID IS NOT NULL AND @P_PLAN_ID <>'')  
163
BEGIN  
164
 
165
SELECT PM.PLAN_ID,PM.PLAN_CODE,DT.TRADE_ID,DT.GOODS_ID,CG.GD_CODE,CG.GD_NAME,PM.BRANCH_ID,PM.DEPT_ID,  
166
ISNULL(DT.QUANTITY,0) AS QUANTITY,  
167
ISNULL(DT.QUANTITY_EXE,0) AS QUANTITY_EXE,  
168
ISNULL(DT.QUANTITY_ETM,0) AS QUANTITY_ETM,  
169
ISNULL(DT.QUANTITY,0)- ISNULL(DT.QUANTITY_EXE,0) AS QUANTITY_REMAIN,  
170
ISNULL(DT.QUANTITY,0)-ISNULL(DT.QUANTITY_ETM,0) AS QUANTITY_REMAIN_ETM,  
171
ISNULL( DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0) AS AMT_APP,  
172
ISNULL( DT.AMT_EXE,0) AS AMT_EXE,  
173
ISNULL( DT.AMT_ETM,0) AS AMT_ETM,  
174
ISNULL( DT.AMT_TF,0) AS AMT_TF,  
175
ISNULL( DT.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,  
176
ISNULL(DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0)- ISNULL( DT.AMT_TF,0)- ISNULL(DT.AMT_EXE,0) AS AMT_REMAIN,  
177
ISNULL(DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0)- ISNULL( DT.AMT_TF,0)-ISNULL(DT.AMT_ETM,0) AS AMT_REMAIN_ETM,  
178
CB.BRANCH_CODE,CB.BRANCH_NAME,'I' AS REQDT_TYPE,  
179
DT.NOTES,PT.PLAN_TYPE_CODE,PT.PLAN_TYPE_NAME,CM.DVDM_ID AS COST_ID,CM.DVDM_CODE AS COST_CODE,CM.DVDM_NAME AS COST_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_ID AS KHOI_ID,CK.DVDM_NAME AS KHOI_NAME,  
180
DM.DVDM_ID,DM.DVDM_CODE,DM.DVDM_NAME,CD.DEP_CODE,CD.DEP_NAME,GT.GD_TYPE_NAME,GT.GD_TYPE_CODE,GT.GD_TYPE_ID,
181
PM.PLAN_TYPE_ID, CG.GD_TYPE_ID AS TYPE_NS
182

    
183
FROM dbo.PL_MASTER PM  
184
LEFT JOIN dbo.PL_TRADEDETAIL DT ON DT.PLAN_ID=PM.PLAN_ID  
185
LEFT JOIN dbo.CM_PLAN_TYPE PT ON PT.PLAN_TYPE_ID=PM.PLAN_TYPE_ID  
186
 
187
LEFT JOIN dbo.CM_GOODS CG ON CG.GD_ID=DT.GOODS_ID  
188
LEFT JOIN dbo.CM_GOOD_DVDM CGDM ON CGDM.GD_ID=CG.GD_ID  
189
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%'  
190
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=PM.BRANCH_ID  
191
LEFT JOIN dbo.CM_DEPARTMENT CD ON CD.DEP_ID=PM.DEPT_ID
192
 
193
LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=PM.COST_ID  
194
LEFT JOIN dbo.CM_DVDM CM ON CM.DVDM_ID=DM.DVDM_ID  
195
LEFT JOIN dbo.CM_DVDM_KHOI DMKH ON DMKH.DVDM_ID = DM.DVDM_ID
196
LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=DMKH.KHOI_ID  
197
WHERE (1=1)  
198
AND (CG.GD_NAME LIKE '%' + @p_GD_NAME + '%' OR @p_GD_NAME IS NULL OR @p_GD_NAME ='')  
199
AND (CG.GD_CODE LIKE '%' + @p_GD_CODE + '%' OR @p_GD_CODE IS NULL OR @p_GD_CODE ='')  
200
--AND (CB.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE +'%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE ='')  
201
--AND (PM.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)))  
202
AND (PM.PLAN_ID LIKE '%' + @P_PLAN_ID+'%' OR @P_PLAN_ID IS NULL OR @P_PLAN_ID='' )  
203
AND (DT.GOODS_ID = @p_GD_ID OR @p_GD_ID IS NULL OR @p_GD_ID ='')  
204
AND (EXISTS(SELECT GD_ID FROM @lstGD WHERE [@lstGD].GD_ID=DT.GOODS_ID) OR @P_HH_ID ='' OR @P_HH_ID IS NULL)  
205
AND PM.YEAR = YEAR(GETDATE())  
206

    
207
AND(PM.BRANCH_ID= @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID='')  
208
AND(PM.DEPT_ID= @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID='')
209
AND(DM.DVDM_ID = @p_DVDM_ID OR @p_DVDM_ID IS NULL OR @p_DVDM_ID = '')
210
AND(PM.PLAN_TYPE_ID = @p_PLAN_TYPE_ID OR @p_PLAN_TYPE_ID IS NULL OR @p_PLAN_TYPE_ID = '') 
211
AND(CG.GD_TYPE_ID = @p_TYPE_NS OR @p_TYPE_NS IS NULL OR @p_TYPE_NS = '')
212

    
213
AND (GT.GD_TYPE_ID LIKE '%' + @p_GD_TYPE_ID + '%' OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID ='')  
214
AND (GT.GD_TYPE_CODE LIKE '%' + @p_GD_TYPE_CODE + '%' OR @p_GD_TYPE_CODE IS NULL OR @p_GD_TYPE_CODE ='')  
215
AND (GT.GD_TYPE_NAME LIKE N'%' + @p_GD_TYPE_NAME + N'%' OR @p_GD_TYPE_NAME IS NULL OR @p_GD_TYPE_NAME ='') 
216
AND DT.RECORD_STATUS='1' 
217
END  
218
ELSE  
219
BEGIN  
220
SELECT DISTINCT PM.PLAN_ID,PM.PLAN_CODE,DT.TRADE_ID,DT.GOODS_ID,CG.GD_CODE,CG.GD_NAME,PM.BRANCH_ID,PM.DEPT_ID,  
221
ISNULL(DT.QUANTITY,0) AS QUANTITY,  
222
ISNULL(DT.QUANTITY_EXE,0) AS QUANTITY_EXE,  
223
ISNULL(DT.QUANTITY_ETM,0) AS QUANTITY_ETM,  
224
ISNULL(DT.QUANTITY,0)- ISNULL(DT.QUANTITY_EXE,0) AS QUANTITY_REMAIN,  
225
ISNULL(DT.QUANTITY,0)-ISNULL(DT.QUANTITY_ETM,0) AS QUANTITY_REMAIN_ETM,  
226
ISNULL( DT.AMT_APP,0)  + ISNULL( DT.AMT_RECEIVE_TF,0) AS AMT_APP,  
227
ISNULL( DT.AMT_EXE,0) AS AMT_EXE,  
228
ISNULL( DT.AMT_ETM,0) AS AMT_ETM,  
229
ISNULL( DT.AMT_TF,0) AS AMT_TF,  
230
ISNULL( DT.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,  
231
ISNULL(DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0)- ISNULL( DT.AMT_TF,0)- ISNULL(DT.AMT_EXE,0) AS AMT_REMAIN,  
232
ISNULL(DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0)- ISNULL( DT.AMT_TF,0)-ISNULL(DT.AMT_ETM,0) AS AMT_REMAIN_ETM,  
233
CB.BRANCH_CODE,CB.BRANCH_NAME,'I' AS REQDT_TYPE,  
234
DT.NOTES,PT.PLAN_TYPE_CODE,PT.PLAN_TYPE_NAME,CM.DVDM_ID AS COST_ID,CM.DVDM_CODE AS COST_CODE,CM.DVDM_NAME AS COST_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_ID AS KHOI_ID,CK.DVDM_NAME AS KHOI_NAME,  
235
DM.DVDM_ID,DM.DVDM_CODE,DM.DVDM_NAME,CD.DEP_CODE,CD.DEP_NAME,GT.GD_TYPE_NAME,GT.GD_TYPE_CODE,GT.GD_TYPE_ID,
236
PM.PLAN_TYPE_ID, CG.GD_TYPE_ID AS TYPE_NS
237
FROM dbo.PL_MASTER PM  
238
LEFT JOIN dbo.PL_TRADEDETAIL DT ON DT.PLAN_ID=PM.PLAN_ID  
239
LEFT JOIN dbo.CM_PLAN_TYPE PT ON PT.PLAN_TYPE_ID=PM.PLAN_TYPE_ID  
240
 
241
LEFT JOIN dbo.CM_GOODS CG ON CG.GD_ID=DT.GOODS_ID  
242
LEFT JOIN dbo.CM_GOOD_DVDM CGDM ON CGDM.GD_ID=CG.GD_ID  
243
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%'  
244
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=PM.BRANCH_ID  
245
LEFT JOIN dbo.CM_DEPARTMENT CD ON CD.DEP_ID=PM.DEPT_ID  
246
 
247
LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=PM.COST_ID  
248
LEFT JOIN dbo.CM_DVDM CM ON CM.DVDM_ID=DM.DVDM_ID  
249
LEFT JOIN dbo.CM_DVDM_KHOI DMKH ON DMKH.DVDM_ID = DM.DVDM_ID
250
LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=DMKH.KHOI_ID  
251
WHERE (1=1)  
252
AND (CG.GD_NAME LIKE '%' + @p_GD_NAME + '%' OR @p_GD_NAME IS NULL OR @p_GD_NAME ='')  
253
AND (CG.GD_CODE LIKE '%' + @p_GD_CODE + '%' OR @p_GD_CODE IS NULL OR @p_GD_CODE ='')  
254
--AND (CB.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE +'%' OR @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE ='')  
255
--AND (PM.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)))  
256
--AND(PM.BRANCH_ID= @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID='')  
257
AND (PM.PLAN_ID LIKE '%' + @P_PLAN_ID+'%' OR @P_PLAN_ID IS NULL OR @P_PLAN_ID='' )  
258
AND (DT.GOODS_ID = @p_GD_ID OR @p_GD_ID IS NULL OR @p_GD_ID ='')  
259
AND (EXISTS(SELECT GD_ID FROM @lstGD WHERE [@lstGD].GD_ID=DT.GOODS_ID) OR @P_HH_ID ='' OR @P_HH_ID IS NULL)  
260
AND  (  
261
(  
262
@BRANCH_TYPE='HS' AND PM.BRANCH_ID =@p_BRANCH_ID AND PM.DEPT_ID=@p_DEP_ID  
263
AND( @IS_CHUNG=1 OR @IS_HANHCHINH=1 OR @IS_ALL=1  OR ((@p_DEP_ID = @DEP_LOGIN) OR DT.TRADE_ID IN (SELECT TRADE_ID FROM @TRADE_REF) OR (@p_DEP_ID <> @DEP_LOGIN AND (PM.COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID)))))   
264
)  
265
OR  
266
(@BRANCH_TYPE='CN' AND PM.BRANCH_ID =@p_BRANCH_ID AND ((@p_BRANCH_ID=@BRANCH_LOGIN) OR @IS_HANHCHINH=1 OR @IS_ALL=1 OR DT.TRADE_ID IN (SELECT TRADE_ID FROM @TRADE_REF) OR (PM.COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID))  ))  
267
OR  
268
(@BRANCH_TYPE='PGD' AND PM.BRANCH_ID =@p_BRANCH_ID AND (@p_BRANCH_ID=@BRANCH_LOGIN OR @IS_HANHCHINH=1 OR @IS_ALL=1 OR DT.TRADE_ID IN (SELECT TRADE_ID FROM @TRADE_REF) OR (PM.COST_ID IN (SELECT DVDM_ID FROM @DVDM_ID)) OR (@p_BRANCH_ID <> @BRANCH_LOGIN AND PM.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@BRANCH_LOGIN) )) ) )  
269
OR
270
( 
271
	EXISTS (SELECT * FROM dbo.PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE='TRADE_USER_VIEW' AND BRANCH_ID=@p_USER_LOGIN AND DEP_ID=DT.GOODS_ID)
272
)
273
)  
274
  
275
AND PM.YEAR = YEAR(GETDATE())  
276

    
277
--AND(PM.BRANCH_ID= @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID='')  
278
--AND(PM.DEPT_ID= @p_DEP_ID OR @p_DEP_ID IS NULL OR @p_DEP_ID='')
279
AND(DM.DVDM_ID = @p_DVDM_ID OR @p_DVDM_ID IS NULL OR @p_DVDM_ID = '')
280
AND(PM.PLAN_TYPE_ID = @p_PLAN_TYPE_ID OR @p_PLAN_TYPE_ID IS NULL OR @p_PLAN_TYPE_ID = '') 
281
AND(CG.GD_TYPE_ID = @p_GD_TYPE_ID OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID = '')
282
AND(CG.GD_TYPE_ID = @p_TYPE_NS OR @p_TYPE_NS IS NULL OR @p_TYPE_NS = '')
283
 
284
AND (GT.GD_TYPE_ID LIKE '%' + @p_GD_TYPE_ID + '%' OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID ='')  
285
AND (GT.GD_TYPE_CODE LIKE '%' + @p_GD_TYPE_CODE + '%' OR @p_GD_TYPE_CODE IS NULL OR @p_GD_TYPE_CODE ='')  
286
AND (GT.GD_TYPE_NAME LIKE N'%' + @p_GD_TYPE_NAME + N'%' OR @p_GD_TYPE_NAME IS NULL OR @p_GD_TYPE_NAME ='')  
287
AND DT.RECORD_STATUS='1' 
288
END  
289
 
290
END  
291
ELSE  
292
BEGIN  
293

    
294
DECLARE @BRANCH_CODE VARCHAR(15), @BRANCH_NAME NVARCHAR(200), @DEP_CODE VARCHAR(15), @DEP_NAME VARCHAR(200)
295
SET @BRANCH_CODE = (SELECT BRANCH_CODE FROM dbo.CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID)
296
SET @BRANCH_NAME = (SELECT BRANCH_NAME FROM dbo.CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID)
297
SET @DEP_CODE = (SELECT DEP_CODE FROM dbo.CM_DEPARTMENT WHERE DEP_ID = @p_DEP_ID)
298
SET @DEP_NAME = (SELECT DEP_NAME FROM dbo.CM_DEPARTMENT WHERE DEP_ID = @p_DEP_ID)
299

    
300
SELECT '' AS PLAN_ID,'' AS PLAN_CODE,'' AS TRADE_ID, CG.GD_ID AS GOODS_ID, CG.GD_CODE ,CG.GD_NAME ,'' AS BRANCH_ID,'' AS DEPT_ID,  
301
@l_QUANTITY AS QUANTITY,  
302
@l_QUANTITY_EXE AS QUANTITY_EXE,  
303
@l_QUANTITY_EXE AS QUANTITY_ETM,  
304
@l_QUANTITY_REMAIN AS QUANTITY_REMAIN,  
305
@l_QUANTITY_REMAIN AS QUANTITY_REMAIN_ETM,  
306
@l_AMT AS AMT_APP,  
307
@l_AMT_EXE AS AMT_EXE,  
308
@l_AMT_EXE AS AMT_ETM,  
309
@l_AMT_EXE AS AMT_TF,  
310
@l_AMT_EXE AS AMT_RECEIVE_TF,  
311
@l_AMT_REMAIN AS AMT_REMAIN,  
312
@l_AMT_REMAIN AS AMT_REMAIN_ETM,  
313
@BRANCH_CODE AS BRANCH_CODE,  
314
@BRANCH_NAME AS BRANCH_NAME, 
315
--N'Ngoài kế hoạch' AS BRANCH_NAME,  
316
'O' AS REQDT_TYPE,  
317
'' AS NOTES  
318
,'' AS PLAN_TYPE_CODE,'' AS PLAN_TYPE_NAME,CM.DVDM_ID AS COST_ID,CM.DVDM_CODE AS COST_CODE,CM.DVDM_NAME AS COST_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_ID AS KHOI_ID,CK.DVDM_NAME AS KHOI_NAME,  
319
DM.DVDM_ID,DM.DVDM_CODE,DM.DVDM_NAME, @DEP_CODE AS DEP_CODE, @DEP_NAME AS DEP_NAME,GT.GD_TYPE_NAME,GT.GD_TYPE_CODE,GT.GD_TYPE_ID  
320
FROM dbo.CM_GOODS CG  
321
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%'  
322
LEFT JOIN dbo.CM_GOOD_DVDM CGDM ON CGDM.GD_ID=CG.GD_ID  
323
LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=CGDM.DVDM_ID  
324
LEFT JOIN dbo.CM_DVDM CM ON CM.DVDM_ID=CGDM.DVCM_ID  
325
LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=CGDM.KHOI_ID  
326
 
327
 
328
 
329
WHERE (1=1)  
330
AND (CG.GD_NAME LIKE '%' + @p_GD_NAME + '%' OR @p_GD_NAME IS NULL OR @p_GD_NAME ='')  
331
AND (CG.GD_CODE LIKE '%' + @p_GD_CODE + '%' OR @p_GD_CODE IS NULL OR @p_GD_CODE ='')  
332
AND CG.GD_CODE LIKE '%.O.%'  
333
AND (EXISTS(SELECT GD_CODE FROM @lstGD_CODE WHERE [@lstGD_CODE].GD_CODE=CG.GD_CODE ) OR @P_HH_ID ='' OR @P_HH_ID IS NULL)  
334
AND (GT.GD_TYPE_ID LIKE '%' + @p_GD_TYPE_ID + '%' OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID ='')  
335
AND (GT.GD_TYPE_CODE LIKE '%' + @p_GD_TYPE_CODE + '%' OR @p_GD_TYPE_CODE IS NULL OR @p_GD_TYPE_CODE ='')  
336
AND (GT.GD_TYPE_NAME LIKE N'%' + @p_GD_TYPE_NAME + N'%' OR @p_GD_TYPE_NAME IS NULL OR @p_GD_TYPE_NAME ='')  
337

    
338
END  
339
  
340

    
341
END  
342