Project

General

Profile

Upd_Search_PYC_DoiMau.txt

Luc Tran Van, 04/04/2023 01:18 PM

 
1

    
2
ALTER PROCEDURE dbo.ASS_ADDNEW_KT_BVB_Appr
3
	@p_ADDNEW_ID VARCHAR(15) = NULL,
4
	@p_CHECKER_ID	varchar(100)  = NULL,
5
	@p_APPROVE_DT	VARCHAR(20) = NULL
6
AS
7
	DECLARE @l_SUP_ID			varchar(15)
8
	DECLARE @l_BUY_DATE			datetime = NULL
9
	DECLARE @l_TYPE_ID			varchar(15)  = NULL
10
	DECLARE @l_GROUP_ID			varchar(15)  = NULL
11
	DECLARE @l_ASSET_NAME		nvarchar(1000)  = NULL
12
	DECLARE @l_ASSET_SERIAL_NO	nvarchar(max)  = NULL
13
	DECLARE @l_ASSET_DESC		nvarchar(max) = NULL
14
	DECLARE @l_BRANCH_ID		varchar(15)  = NULL
15
	DECLARE @l_DEPT_ID			varchar(15)  = NULL
16
	DECLARE @l_EMP_ID			varchar(15)  = NULL
17
	DECLARE @l_DIVISION_ID		varchar(15)  = NULL
18
	DECLARE @l_BUY_PRICE		decimal(18)  = NULL
19
	DECLARE @l_AMORT_AMT		decimal(18)  = NULL
20
	DECLARE @l_AMORT_MONTH		decimal(18,2) = NULL
21
	DECLARE @l_AMORT_RATE		decimal(18,2)  = NULL
22
	DECLARE @l_IS_MULTIPLE		varchar(1)  = NULL
23
	DECLARE @l_QTY				int = NULL
24
	DECLARE @l_PO_ID			varchar(15)  = NULL
25
	DECLARE @l_PD_ID			varchar(15)  = NULL
26
	DECLARE @l_REF_ASSET_ID		varchar(15)  = NULL
27
	DECLARE @l_REF_AMORTIZED_AMT	decimal(18)  = NULL
28
	DECLARE @l_WARRANTY_MONTHS	int = NULL
29
	DECLARE @l_NOTES			nvarchar(1000)  = NULL
30
	DECLARE @l_CORE_NOTE nvarchar(500) = NULL
31
	declare @l_ENTRY_BOOKED		varchar(1)	= null
32
	DECLARE @l_MAKER_ID			varchar(15)
33
	DECLARE @l_AUTH_STATUS_KT	varchar(1)
34
	declare @l_DO_BRANCH_ID varchar(15)
35
	DECLARE @l_CONSTRUCT_ID		varchar(15) = NULL
36
	DECLARE @l_USE_DATE_KT DATETIME = NULL
37
	DECLARE @l_AMORTIZED_AMT DECIMAL = 0
38
	DECLARE @l_AMORTIZED_MONTH DECIMAL = 0
39
	DECLARE	@l_AMORT_STATUS		nvarchar(20)		
40
	DECLARE @l_AMORT_START_DATE datetime, @l_AMORT_END_DATE datetime
41
	DECLARE @l_FIRST_AMORT_AMT	numeric(18,0)
42
	DECLARE @l_MONTHLY_AMT 	numeric(18,0)
43
	
44
	DECLARE @l_HO_BRN_ID varchar(15)
45
	DECLARE @l_WAH_ID varchar(15)
46
	DECLARE @sToday varchar(10) = convert(varchar(10), getdate(), 103)
47
	DECLARE @l_USE_DATE varchar(15)
48
	DECLARE @l_AMORTDT_ID VARCHAR(15) = NULL
49
	DECLARE @l_ASS_TYPE varchar(1) = '1'
50
	declare @l_TRN_REF_NO varchar(20)
51
	DECLARE @l_ET_ID varchar(15)
52
	DECLARE @l_VALUE_ID varchar(15)
53
	DECLARE @l_ASSET_ID varchar(15)
54
	DECLARE @l_ASSET_CODE nvarchar(100)
55
	DECLARE @l_WAHDT_ID varchar(15)
56
	DECLARE @l_LOCHIST_ID varchar(15)
57
	
58
	DECLARE @PRICE_NONE_VAT DECIMAL(18,0)
59
	DECLARE @PRICE_VAT DECIMAL(18,0)
60

    
61
	DECLARE @l_SUPPEND_GL varchar(50)
62
	DECLARE @l_ASSET_GL  varchar(50)
63
	declare @l_ASSET_VALUE decimal(18,0)	
64
	DECLARE @l_EXP_ACCTNO  varchar(50)--TK CHI PHI
65
	DECLARE @l_AMORT_ACCTNO  varchar(50)--TK CHO PHAN BO 
66
  DECLARE @l_PAY_HS_ACCTNO VARCHAR(50)
67
 DECLARE @_BUY_TS_ACCTNO VARCHAR(50)
68
 DECLARE @l_WAIT_AMORT VARCHAR(50)
69
 DECLARE @l_TRANFER_ACCTNO VARCHAR(50)
70

    
71

    
72
	DECLARE @l_DR_BRANCH VARCHAR(15) -- DV GHI NO
73
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
74
	DECLARE @ACCOUNT_GL VARCHAR(50), @ACCOUNT_VAT VARCHAR(50)
75
	DECLARE @i INT, @l_USE_DATE_CUR DATETIME = NULL
76
	DECLARE @l_CURR_AMORT_AMT DECIMAL(18,0) = 0
77
	DECLARE @sExecDT DATETIME
78
	DECLARE @l_AMORT_TERM VARCHAR(500), @l_AMORT_DESC VARCHAR(500)
79
	DECLARE @l_OLD_QT INT, @l_CUR_QT INT -- 26/12/2014 THIEUVQ
80
	DECLARE @l_IS_AMORT_WR VARCHAR(1) = '1' --THIEUVQ 27/07/2015 THEM DIEU KIEN KIEM TRA KHI NAO GHI NHAN KHAU HAO
81
	DECLARE @l_BRANCH_CREATE VARCHAR(15), @BRN_TYPE_TRN VARCHAR(15), @BRN_TYPE_REC VARCHAR(15), @TCCT_TRN_ACCTNO VARCHAR(50), @TCCT_REC_ACCTNO VARCHAR(50)
82
	DECLARE @l_VAT DECIMAL(18,0), @ERROR NVARCHAR(500) = ''
83

    
84
	
85
	DECLARE @l_COST_MASTER_ID VARCHAR(15)
86
	DECLARE @l_COSTDT_ID VARCHAR(15)
87

    
88
	DECLARE @CUR_DATE DATETIME = GETDATE()
89
   -- khiemchg bo sung thong tin pyc
90
	DECLARE @REQ_ID VARCHAR(15)
91
	DECLARE @REQ_CODE VARCHAR(50)
92
	DECLARE @ASS_CONTRACT_CODE VARCHAR(50)
93

    
94

    
95
    --check ngày khấu hao null
96
    IF (EXISTS(SELECT 1 FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID AND BRANCH_ID IS NOT NULL AND AMORT_START_DATE IS NULL))
97
	BEGIN
98
		SELECT '-1' AS Result, '' ADDNEW_ID, N'Thông tin ngày bắt đầu phân bổ không hợp lệ' ErrorDesc
99
		RETURN '-1'
100
	END
101

    
102
	
103
	--lay thong tin giao dich
104
	SELECT	@l_BUY_DATE = BUY_DATE, @l_TYPE_ID = A.[TYPE_ID], @l_GROUP_ID = A.GROUP_ID, @l_ASSET_NAME = ASSET_NAME,
105
			@l_ASSET_SERIAL_NO = ASSET_SERIAL_NO, @l_ASSET_DESC = ASSET_DESC, @l_CONSTRUCT_ID = CONSTRUCT_ID,
106
			@l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID, @l_EMP_ID = EMP_ID, @l_DIVISION_ID = DIVISION_ID,
107
			@l_BUY_PRICE = BUY_PRICE, @l_AMORT_AMT = AMORT_AMT, @l_AMORT_START_DATE = AMORT_START_DATE,
108
			@l_AMORT_MONTH = A.AMORT_MONTH, 
109
			--@l_AMORT_MONTH = CASE WHEN G.AMORT_MONTH<>0 THEN G.AMORT_MONTH ELSE A.AMORT_MONTH END,
110
			@l_AMORT_RATE = A.AMORT_RATE, @l_CORE_NOTE = A.CORE_NOTE,
111
			@l_IS_MULTIPLE = IS_MULTIPLE, @l_QTY = QTY, @l_PO_ID = PO_ID,@l_PD_ID=PD_ID, @l_REF_ASSET_ID = REF_ASSET_ID,
112
			@l_REF_AMORTIZED_AMT = REF_AMORTIZED_AMT, @l_WARRANTY_MONTHS = WARRANTY_MONTHS, @l_NOTES = A.NOTES, @l_ENTRY_BOOKED = ENTRY_BOOKED, 
113
			@l_MAKER_ID = A.MAKER_ID_KT, @l_AUTH_STATUS_KT = A.AUTH_STATUS_KT, @ACCOUNT_GL = A.ACCOUNT_GL, @PRICE_VAT = A.PRICE_VAT,@l_BRANCH_CREATE= A.BRANCH_CREATE, @l_VAT = A.VAT
114
	 ,@REQ_CODE = A.REQ_CODE, @REQ_ID = A.REQ_ID, @ASS_CONTRACT_CODE = A.CONTRACT_ID
115

    
116
  FROM ASS_ADDNEW A
117
	INNER JOIN ASS_GROUP G on G.GROUP_ID = A.GROUP_ID
118
	WHERE ADDNEW_ID = @p_ADDNEW_ID
119

    
120

    
121
	IF @@Error <> 0 GOTO ABORT
122
	
123
	------LUCTV: 21-12-2018KIEM TRA NEU TINH TRANG DANG LA 'R' THI KHONG CHO PHEP DUYET-----
124
	IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='R' AND ADDNEW_ID =@p_ADDNEW_ID))
125
	BEGIN
126
				--ROLLBACK TRANSACTION
127
				SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
128
				RETURN '-1'
129
	END
130
    IF(EXISTS(SELECT * FROM ASS_ADDNEW WHERE AUTH_STATUS_KT ='A' AND ADDNEW_ID =@p_ADDNEW_ID))
131
	BEGIN
132
				--ROLLBACK TRANSACTION
133
				SELECT '-1' as Result, '' ADDNEW_ID, N'Phiếu nhập mới đã được duyệt.' ErrorDesc
134
				RETURN '-1'
135
	END
136
	------LUCTV: 21-12-2021 KIEM TRA NEU GDV CHUA CAP NHAT PHIEU THI KHONG CHO PHEP DUYET-----
137
	IF((SELECT MAKER_ID_KT FROM ASS_ADDNEW WHERE ADDNEW_ID =@p_ADDNEW_ID) IS NULL)
138
	BEGIN
139
				--ROLLBACK TRANSACTION
140
				SELECT '-1' as Result, '' ADDNEW_ID, N'Thông tin nhập mới tài sản đang bị trả về. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
141
				RETURN '-1'
142
	END
143

    
144
	/*******DIEN GIAI PHAN BO CHI PHI ***********/
145
	SET @l_AMORT_DESC = 'PHAN BO CHI PHI CCLD KY ' + convert(varchar(10),month(getdate())) + ' ' + convert(varchar(10),year(getdate()))
146

    
147
	/********** chekc vadilation ************/
148
 	IF (@l_AUTH_STATUS_KT = 'A')
149
 		SET @ERRORSYS = 'ASS-99998' 	
150
 	
151
 	/*********** Kiem tra gia tri khau hao voi gia tri 30Tr **************/
152
	SELECT @l_ASSET_VALUE = CONVERT(decimal(18,0), ParaValue) FROM SYS_PARAMETERS WHERE ParaKey = 'ASSET_VALUE'
153
	IF (@l_TYPE_ID = 'CCLD' AND @l_AMORT_AMT > @l_ASSET_VALUE)
154
		SET @ERRORSYS = 'ASS-00011'
155
    
156
    
157
	--IF @l_AMORT_MONTH < 1 AND @l_AMORT_MONTH IS NOT NULL AND @l_AMORT_MONTH <> ''
158
	--BEGIN 
159
	--	SET @ERRORSYS = 'ASS-00020'
160
	--END
161
	--IF (@l_ASS_TYPE = 'TSCD' AND @l_AMORT_AMT < @l_ASSET_VALUE)
162
	--	SET @ERRORSYS = 'ASS-00012'
163
		
164
	/************ Xuat tai san thi phai hach toan tang tai sai ****************/
165
	--IF (@l_ENTRY_BOOKED = 'N' AND (@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>''))
166
	--	SET @ERRORSYS = 'ASS-00013'	
167

    
168
	/*************** Doi voi CCLD phai khau hao het trong  nam tai chinh ***********/
169
	
170
	--Tinh ngay ket thuc khau hao
171
	SET @l_AMORT_END_DATE = DATEADD(MONTH, @l_AMORT_MONTH, @l_AMORT_START_DATE) - 1
172

    
173
	IF @ERRORSYS <> '' 
174
	BEGIN
175
		SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
176
		RETURN '0'
177
	END
178

    
179
	--Lay thong tin nha cung cap
180
	SELECT @l_SUP_ID = SUP_ID FROM TR_PO_MASTER A WHERE A.PO_ID = @l_PO_ID
181
	
182
	--BRN_ID HOI SO
183
	SELECT @l_HO_BRN_ID = BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS'
184
	
185
	--Lay thong tin kho mac dinh
186
	--SELECT @l_WAH_ID = P.ParaValue FROM SYS_PARAMETERS P WHERE P.ParaKey='ASSET_WAREHOUSE'
187
	SET @l_WAH_ID = @l_BRANCH_CREATE
188

    
189
	--Lay suppend GL - THIEUVQ 26092016 - GHI NHAN THEO TAI KHOAN NHAP TU PHAN MEM
190
	--SET @l_SUPPEND_GL = UPPER(@ACCOUNT_GL) + 'XXXX'
191
	--SELECT @l_SUPPEND_GL = A.ParaValue FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
192

    
193
	--SELECT * FROM SYS_PARAMETERS A WHERE A.ParaKey='ASSET_SUPPEND_GL'
194
	----THIEUVQ - 30/05/2014 DOI VOI CCLD THI GHI NHAN TAI DON VI
195
	--SET @l_SUPPEND_GL = SUBSTRING(@l_SUPPEND_GL,1,LEN(@l_SUPPEND_GL) - 4) + 'XXXX'
196

    
197
	--TAI KHOAN HACH TOAN VAT
198
	SET  @ACCOUNT_VAT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='ACC_VAT')
199

    
200
  --- TAI KHOAN PHAI TRA HS
201

    
202
--NẾU XSD THÌ TĂNG TÀI SẢN
203

    
204

    
205
IF(@l_TYPE_ID='TSCD')
206
    BEGIN
207
        IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <> '')
208
        BEGIN
209
        	SET @l_ENTRY_BOOKED = 'Y'
210
        END
211
        ELSE IF(@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '')
212
        BEGIN
213
        	SET @l_ENTRY_BOOKED = 'N'
214
        END
215
    	SET @l_BUY_PRICE = @l_BUY_PRICE + @PRICE_VAT
216
    	SET @l_AMORT_AMT = @l_BUY_PRICE
217
    END
218
SET @l_TRANFER_ACCTNO =(SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='TRANSFER')
219
SET @l_PAY_HS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='PAY_HS')
220
SET @_BUY_TS_ACCTNO = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='BUY_TSCD' AND epa.GROUP_ID=(SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = (SELECT AG.PARENT_ID FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_GROUP_ID)))
221
SET @l_WAIT_AMORT = (SELECT epa.ACC_NO FROM ENTRIES_POST_ACCNO epa WHERE epa.ACC_TYPE='AMORT_CCLD')
222
	--ASSET_GL
223
	SELECT @l_ASSET_GL = ASSET_ACCTNO,
224
			@l_EXP_ACCTNO = EXP_ACCTNO,
225
			@l_AMORT_ACCTNO = AMORT_ACCTNO
226
	FROM ASS_GROUP A 
227
	WHERE A.GROUP_ID = @l_GROUP_ID
228
	
229
	--Lay branch_id cua user duyet
230
	select @l_DO_BRANCH_ID = a.TLSUBBRID from TL_USER a where a.TLNANME = @p_CHECKER_ID	
231
	
232
	--Trang thai khau hao
233
	IF (@l_BRANCH_ID IS NULL OR @l_BRANCH_ID = '') --Chua xuat su dung
234
	BEGIN
235
		SET @l_AMORT_STATUS = 'VNM'
236
		SET @l_AMORT_START_DATE = NULL
237
		SET @l_AMORT_END_DATE = NULL
238
		SET @l_MONTHLY_AMT = NULL
239
		SET @l_FIRST_AMORT_AMT = NULL
240
		SET @l_USE_DATE = NULL
241
	END
242
	ELSE
243
	IF @l_AMORT_MONTH = 0 OR @l_AMORT_START_DATE IS NULL OR @l_AMORT_START_DATE = ''
244
		BEGIN
245
			SET @l_AMORT_STATUS = 'KKH'
246
		
247
			SET @l_AMORT_START_DATE = NULL
248
			SET @l_AMORT_END_DATE = NULL
249
			SET @l_MONTHLY_AMT = 0
250
			SET @l_FIRST_AMORT_AMT = 0
251
			SET @l_USE_DATE = @sToday
252
			SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
253
		END
254
	ELSE
255
		BEGIN
256
			SET @l_AMORT_STATUS = 'CKH'
257
		
258
			SET @l_USE_DATE = @sToday
259
			SET @l_USE_DATE_KT = CONVERT(DATETIME, @sToday, 103)
260
			--Ngay bat dau khau hao mac dinh la ngay hien tai	
261
			IF(@l_AMORT_START_DATE IS NULL)	---THIEUVQ MOI THEM
262
			BEGIN
263
				SET @l_AMORT_START_DATE = GETDATE()
264
			END
265
				
266
			--Tinh so tien khau hao thang dau tien va so tien khau hao hang thang
267
			SET @l_MONTHLY_AMT = ROUND(@l_AMORT_AMT / @l_AMORT_MONTH, 0)
268
			--SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
269

    
270
--    IF(@l_TYPE_ID='TSCD')
271
--BEGIN
272
         DECLARE @AMORT_ON_DAY DECIMAL(18,0)
273
        SET @AMORT_ON_DAY = ROUND(@l_MONTHLY_AMT/dbo.[FN_GetDaysInMonth](@l_AMORT_START_DATE),0)
274
        SET @l_FIRST_AMORT_AMT = ROUND(@AMORT_ON_DAY * (DATEDIFF(day,@l_AMORT_START_DATE, dbo.FN_GetLastDayOfMonth(@l_AMORT_START_DATE)) + 1), 0)
275
--END
276
 IF(DAY(@l_AMORT_START_DATE)=1)
277
        SET  @l_FIRST_AMORT_AMT=@l_MONTHLY_AMT
278
--    ELSE
279
--        SET @l_FIRST_AMORT_AMT = @l_MONTHLY_AMT
280

    
281
    END
282

    
283
    DECLARE @ASSID_TEMP TABLE([ID] [int] IDENTITY(1,1) NOT NULL, ASSET_ID VARCHAR(15))
284
    --INSERT INTO @ASSID_TEMP SELECT A FROM ASS_MASTER AA WHERE AA.ADD = @p_ADDNEW_ID
285
	INSERT INTO @ASSID_TEMP SELECT AT.ASSET_ID FROM ASS_TRANSACTIONS AT WHERE AT.TRN_ID = @p_ADDNEW_ID AND AT.TRN_TYPE ='ADD_NEW'
286

    
287
BEGIN TRANSACTION
288

    
289
	--UPDATE GIAO DICH ADDNEW
290
     --IF(@l_IS_MULTIPLE = '1')
291
    BEGIN--Phân lại seri nếu thêm vào lúc kế toán
292
    	DECLARE @l_LSTSERI TABLE (
293
    			[ID] [int] IDENTITY(1,1) NOT NULL,
294
    			[VALUE] [NVARCHAR](MAX) NULL)
295
    	DECLARE @l_SERI VARCHAR(MAX) = NULL
296
        INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@l_ASSET_SERIAL_NO,',') --Phân lại seri nếu thêm vào lúc kế toán
297
    END
298

    
299

    
300
	
301
	UPDATE ASS_ADDNEW 
302
	SET AUTH_STATUS_KT = 'A',
303
		CHECKER_ID_KT = @p_CHECKER_ID,
304
		APPROVE_DT_KT = CONVERT(DATETIME, @p_APPROVE_DT, 103) ,
305
		
306
		POSTED_STATUS = 'Y'
307
	WHERE ADDNEW_ID = @p_ADDNEW_ID
308
	IF @@Error <> 0 GOTO ABORT
309

    
310

    
311
    
312

    
313
DECLARE @l_TRN_NO VARCHAR(15)
314
EXEC ENTRIES_POST_GEN_NO @p_BRANCH_ID = @l_BRANCH_CREATE
315
                        ,@p_TRN_DATE = @p_APPROVE_DT
316
                        ,@p_KeyGen = @l_TRN_NO OUT
317
	--IF (@l_IS_MULTIPLE = '0') --nhap tai san don le
318
    DECLARE @int INT = 1		
319
	WHILE (@int <= (SELECT COUNT(*) FROM @ASSID_TEMP))
320
	BEGIN		
321
        SET @l_ASSET_ID = (SELECT ASSET_ID FROM @ASSID_TEMP WHERE ID = @int)
322
        
323
        SET @l_SERI = (SELECT VALUE FROM @l_LSTSERI WHERE ID = @int)
324

    
325
		--Phat sinh ma tai san
326
		EXEC ASS_CODE_Gen_VB @l_ASSET_CODE OUT
327
		IF @l_ASSET_CODE = '' OR @l_ASSET_CODE IS NULL GOTO ABORT
328

    
329
		--Insert bang ASS_MASTER
330
		UPDATE ASS_MASTER    SET    
331
			[TYPE_ID]           = @l_TYPE_ID,
332
			[GROUP_ID]          = @l_GROUP_ID,
333
			[ASSET_CODE]        = @l_ASSET_CODE,
334
			[ASSET_NAME]        = @l_ASSET_NAME,			
335
            [ASSET_SERIAL_NO]   = @l_SERI,
336
			[ASSET_DESC]        = @l_ASSET_DESC,
337
			[SUP_ID]            = @l_SUP_ID,
338
			[BUY_PRICE]         = @l_BUY_PRICE,
339
			[AMORT_AMT]         = @l_AMORT_AMT,
340
			[ASS_TYPE]          = @l_ASS_TYPE,
341
--			[BRANCH_ID]         = @l_BRANCH_ID,
342
--			[DEPT_ID]           = @l_DEPT_ID,
343
--			[EMP_ID]            = @l_EMP_ID,
344
--			[DIVISION_ID]       = @l_DIVISION_ID,
345
			[BUY_DATE]          = CONVERT(DATETIME, @l_BUY_DATE, 103),
346
			[USE_DATE]          = CONVERT(DATETIME, @l_USE_DATE, 103),
347
			[SPECIAL_ASS]       = '0',
348
			[AMORT_MONTH]       = @l_AMORT_MONTH,
349
			[AMORT_RATE]        = @l_AMORT_RATE,
350
			[AMORT_START_DATE]  = @l_AMORT_START_DATE,
351
			[AMORT_END_DATE]    = @l_AMORT_END_DATE,
352
			[FIRST_AMORT_AMT]   = @l_FIRST_AMORT_AMT,
353
			[MONTHLY_AMORT_AMT] = @l_MONTHLY_AMT,
354
			[AMORTIZED_MONTH]   = 0,
355
			[AMORTIZED_AMT]     = 0,
356
			[PO_ID]             = @l_PO_ID,
357
			[PD_ID]             = @l_PD_ID,
358
			[WAREHOUSE_ID]      = NULL,
359
			[LOCATION]          = NULL,
360
			[REF_ASSET_ID]      = @l_REF_ASSET_ID,
361
			[REF_AMORTIZED_AMT] = @l_REF_AMORTIZED_AMT,
362
			[WARRANTY_MONTHS]   = @l_WARRANTY_MONTHS,
363
			[NOTES]             = @l_NOTES,
364
			[AMORT_STATUS]      = @l_AMORT_STATUS,
365
			[ASS_STATUS]        = '1',
366
			[ASS_STATUS_DESC]   = N'',
367
			[ENTRY_BOOKED]      = @l_ENTRY_BOOKED,
368
			[RECORD_STATUS]     = '1',
369
			[AUTH_STATUS]       = 'A',
370
			[MAKER_ID]          = @l_MAKER_ID,
371
			[CREATE_DT]         = CONVERT(DATETIME, @sToday, 103),
372
			[CHECKER_ID]        = @p_CHECKER_ID,
373
			[APPROVE_DT]        = CONVERT(DATETIME, @p_APPROVE_DT, 103),
374
			[CONSTRUCT_ID]      = @l_CONSTRUCT_ID,
375
			[USE_STATUS]        = 'BT',
376
			[BRANCH_CREATE]     = @l_BRANCH_CREATE,
377
			[ACCOUNT_GL]        = @ACCOUNT_GL, 
378
            VAT                 = @l_VAT,
379
            PRICE_VAT           = @PRICE_VAT,
380
			[BUY_DATE_KT]       = CONVERT(DATETIME, @sToday, 103),
381
            [USE_DATE_KT]       = @l_USE_DATE_KT, 
382
            ASS_CODE_TMP        = @l_ASSET_CODE,
383
            ASS_CONTRACT_CODE   = @ASS_CONTRACT_CODE
384
            WHERE ASSET_ID = @l_ASSET_ID
385

    
386
    SET @l_ASSET_CODE= (SELECT am.ASSET_CODE FROM ASS_MASTER am WHERE am.ASSET_ID=@l_ASSET_ID)
387
		IF @@Error <> 0 GOTO ABORT	
388
		
389

    
390
DECLARE  @l_ETP_ID VARCHAR(20),@l_D_BRANCH_CODE VARCHAR(25) , @l_C_BRANCH_CODE VARCHAR(25),
391
@l_DEP_CODE VARCHAR(20)
392

    
393

    
394
        
395
          SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
396
          SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
397
		--IF (@l_ENTRY_BOOKED = 'Y') --Neu nhap TS va hach toan tang tai san
398
		IF (@l_ENTRY_BOOKED = 'Y' ) --Neu nhap TS va hach toan tang tai san thieuvq 15/04/2014
399
		BEGIN
400
    			--insert dbo.ASS_VALUES
401
    			EXEC SYS_CodeMasters_Gen 'ASS_VALUES', @l_VALUE_ID out
402
    			IF @l_VALUE_ID='' OR @l_VALUE_ID IS NULL GOTO ABORT			
403
			
404
    			INSERT INTO ASS_VALUES
405
    			(
406
    				VALUE_ID, ASSET_ID, BRANCH_ID, TRN_DT, CRDR, ASSET_AMT, [DESCRIPTION], TRN_ID, TRN_TYPE,
407
    				RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT, AMORT_AMT
408
    			)
409
    			VALUES
410
    			(
411
    				@l_VALUE_ID, @l_ASSET_ID, @l_BRANCH_CREATE, CONVERT(datetime, @sToday, 103), 'C', @l_BUY_PRICE, N'NHAP MOI TSCD/CCLD', @p_ADDNEW_ID, 'ASS_ADDNEW',
412
    				'1','A',@l_MAKER_ID, CONVERT(datetime, @sToday, 103), @p_CHECKER_ID, CONVERT(datetime, @sToday, 103), @l_AMORT_AMT
413
    			)
414
    			IF @@Error <> 0 GOTO ABORT		
415
			
416

    
417
          
418

    
419
          IF(@l_TYPE_ID='TSCD')
420
          BEGIN
421

    
422
                 IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')
423
              BEGIN
424
                SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
425
                SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
426
               SET @l_DEP_CODE =  ( SELECT  cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
427
              END
428

    
429
                EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
430
					      @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT
431

    
432
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
433
               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
434
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
435
          
436
                EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
437
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
438
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
439

    
440
          END
441
          ELSE IF (@l_TYPE_ID='CCLD')
442
          BEGIN
443

    
444
              IF(@l_BRANCH_ID IS NOT NULL OR @l_BRANCH_ID <>'')
445
              BEGIN
446
                SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
447
                SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
448
                 SET @l_DEP_CODE =  ( SELECT  cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
449
              END
450
              EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @l_ASSET_GL, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
451
					      @sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID, @l_ET_ID OUT
452
            --- Hạch toán nhập CCLĐ:
453

    
454
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
455
               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
456
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO);
457

    
458

    
459
                EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
460
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
461
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE + @PRICE_VAT,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
462

    
463
              IF(@PRICE_VAT >0)
464
              BEGIN
465
                    EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID OUT
466
                   INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
467
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@ACCOUNT_VAT,'VND', 'D', @PRICE_VAT, 1, @PRICE_VAT, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
468
              END
469

    
470
--	          EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
471
--							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
472
--							@l_ET_ID OUT
473
--				           --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
474
--               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
475
--
476
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
477
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
478
--              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
479
--
480
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
481
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'LCY', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
482

    
483
         
484

    
485
          END
486
          
487
        
488
	      			
489
			END
490
			ELSE IF @l_TYPE_ID = 'TSCD'
491
			BEGIN
492
				--Insert vao bang dbo.ASS_ENTRIES_POST			
493
				EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_PAY_HS_ACCTNO, @l_BRANCH_CREATE, @_BUY_TS_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
494
					@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
495
					@l_ET_ID OUT
496
        
497
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
498
               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
499
               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@_BUY_TS_ACCTNO,'VND', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
500
      
501

    
502
                   EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
503
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO)
504
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_PAY_HS_ACCTNO, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE,@l_TRN_NO);
505

    
506
				
507
			END
508
		
509
		
510
		--Insert nhap kho
511
		EXEC SYS_CodeMasters_Gen 'ASS_WAREHOUSE_DT', @l_WAHDT_ID out
512
		IF @l_WAHDT_ID='' OR @l_WAHDT_ID IS NULL GOTO ABORT
513
		
514
		INSERT INTO ASS_WAREHOUSE_DT(WAHDT_ID, WAH_ID, ASSET_ID, IN_DATE, OUT_DATE, STATUS)
515
		VALUES(@l_WAHDT_ID, @l_WAH_ID, @l_ASSET_ID, GETDATE(), NULL, 'I')	
516
		IF @@Error <> 0 GOTO ABORT	
517
				
518
		IF @l_BRANCH_ID IS NOT NULL AND @l_BRANCH_ID <> ''
519
		BEGIN
520
				PRINT 'A'
521
				UPDATE ASS_WAREHOUSE_DT
522
				SET OUT_DATE = GETDATE(),
523
					STATUS = 'O'
524
				WHERE WAHDT_ID = @l_WAHDT_ID
525
				IF @@Error <> 0 GOTO ABORT
526
				
527
		
528
				IF @l_BRANCH_CREATE <> @l_BRANCH_ID
529
				BEGIN
530

    
531

    
532
          SET @l_C_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_CREATE)
533
          SET @l_D_BRANCH_CODE = (SELECT cb.BRANCH_CODE FROM CM_BRANCH cb WHERE cb.BRANCH_ID=@l_BRANCH_ID)
534
          SET @l_DEP_CODE =  ( SELECT  cd.DEP_CODE FROM CM_DEPARTMENT cd WHERE cd.DEP_ID=@l_DEPT_ID)
535

    
536
					IF @l_TYPE_ID = 'TSCD'
537
					BEGIN
538
						SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
539
						SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID												
540

    
541
						/*****THIEUVQ 211118 - CHAU XAC NHAN KHONG HACH TOAN QUA TK TRUNG GIAN NUA*******/
542
						----NEU CN XUAT CHO PGD THI KHONG HACH TOAN THONG QUA TK TRUNG GIAN TCCT
543
						--IF @BRN_TYPE_TRN = 'CN' AND @BRN_TYPE_REC = 'PGD'
544
						--BEGIN
545
--							EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_TRANFER_ACCTNO, @l_BRANCH_CREATE, @l_BUY_PRICE, 'Y', 
546
--								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
547
--								@l_ET_ID OUT
548
--									
549
--              	 EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
550
--
551
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
552
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_C_BRANCH_CODE , @l_ASSET_GL, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
553
--
554
--               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
555
--
556
--               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
557
--               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_C_BRANCH_CODE ,@l_TRANFER_ACCTNO,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
558
--      
559
--              	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_USE', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_TRANFER_ACCTNO, @l_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
560
--								@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
561
--								@l_ET_ID OUT
562
--									
563
--              	 EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
564
--
565
--              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
566
--              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_TRANFER_ACCTNO, 'LCY', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
567
--
568
--               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
569
--
570
--               INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS)
571
--               VALUES (@l_ETP_ID, @l_ET_ID, @p_ADDNEW_ID,@l_D_BRANCH_CODE ,@l_ASSET_GL,'LCY', 'D', @l_BUY_PRICE, 1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, '', @l_CORE_NOTE);
572
--      	
573

    
574

    
575

    
576
						
577
	
578
					END
579
					ELSE ---CCLD
580
					BEGIN
581
						SELECT @BRN_TYPE_TRN = BRANCH_TYPE,@TCCT_TRN_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_CREATE
582
						SELECT @BRN_TYPE_REC = BRANCH_TYPE, @TCCT_REC_ACCTNO = DAO_CODE FROM CM_BRANCH WHERE BRANCH_ID = @l_BRANCH_ID
583
						
584
						EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
585
							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
586
							@l_ET_ID OUT
587
				           --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
588

    
589
              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
590
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM)
591
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1);
592

    
593
				
594
               EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
595
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO)
596
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO);
597
              
598
					END
599
				END
600
        ELSE IF (@l_TYPE_ID = 'CCLD')
601
        BEGIN
602
            	EXEC [dbo].[ASS_ENTRIES_POST_Insert] @l_TYPE_ID, @l_ASSET_ID, 'ADD_NEW', @p_ADDNEW_ID, @l_DO_BRANCH_ID, @l_ASSET_GL, @l_BRANCH_CREATE, @l_WAIT_AMORT, @l_BRANCH_ID, @l_BUY_PRICE, 'Y', 
603
							@sToday, @l_CORE_NOTE, @l_MAKER_ID, @p_CHECKER_ID, @p_ADDNEW_ID,--N'NHAP MOI TSCD/CCLD'
604
							@l_ET_ID OUT
605
				           --Đồng thời kết chuyển tài khoản CCLĐ đang dùng sang tài khoản chờ phân bổ:
606

    
607
              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
608
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_NO,TRN_IS_SUM)
609
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_WAIT_AMORT, 'VND', 'D', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,@l_TRN_NO,1);
610

    
611
              EXEC SYS_CodeMasters_Gen 'ASS_ENTRIES_POST_SYNC', @l_ETP_ID out
612
              INSERT INTO ASS_ENTRIES_POST_SYNC (ETP_ID, ET_ID, TRN_ID, AC_BRANCH, AC_NO, AC_CCY, DRCR_IND, FCY_AMOUNT, EXCH_RATE, LCY_AMOUNT, RELATED_REFERENCE, TRN_DT, USER_ID, AUTH_ID, DEPT_CD, DESC_TRANS,TRN_IS_SUM,TRN_NO)
613
              VALUES (@l_ETP_ID, @l_ET_ID,@p_ADDNEW_ID ,@l_D_BRANCH_CODE , @l_ASSET_GL, 'VND', 'C', @l_BUY_PRICE,1, @l_BUY_PRICE, @l_ASSET_CODE,CONVERT(DATETIME, @p_APPROVE_DT, 103), @l_MAKER_ID, @p_CHECKER_ID, @l_DEP_CODE, @l_CORE_NOTE,1,@l_TRN_NO);
614
              
615
				
616
        END
617
			
618

    
619
				---Phong added 17/6/2018: xu ly khao hao ngay qua khu :: ends
620
				/***********PHAN BO HOI SO CHIU CHI PHI -- BEGIN 201218**************/
621
--				SET @l_DEP_CODE = (SELECT A.DEP_CODE FROM CM_DEPARTMENT A WHERE A.DEP_ID = @l_DEPT_ID)
622
--				IF @l_DEP_CODE IS NOT NULL AND @l_DEP_CODE <> ''
623
--				BEGIN
624
--					IF @l_BRANCH_ID <> @l_HO_BRN_ID AND LEFT(@l_DEP_CODE,3) = '069' ------CN NHAP NHUNG HOI SO CHIU CHI PHI
625
--					BEGIN
626
--						--LAY PHONG BAN CUA HOI SO TUONG UNG MA PHONG BAN CN
627
--						SET @l_DEPT_ID = (SELECT DEP_ID FROM CM_DEPARTMENT A WHERE A.DEP_CODE = @l_DEP_CODE AND BRANCH_ID = @l_HO_BRN_ID)
628
--						IF @l_DEPT_ID IS NOT NULL AND @l_DEPT_ID <> ''
629
--						BEGIN
630
--							-----THEM VAO BANG ASS_COST_ALLOCATION
631
--				
632
--							EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOCATION', @l_COST_MASTER_ID out
633
--							INSERT INTO ASS_COST_ALLOCATION (COS_ID,ASSET_ID,NOTE,TRN_DATE,[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],EDITOR_ID, EDITOR_DT,[CHECKER_ID],[APPROVE_DT],BRANCH_CREATE,XML_TEMP,SECURE_01,SERCURE_01)
634
--							VALUES(@l_COST_MASTER_ID,@l_ASSET_ID,'AUTO',@CUR_DATE,'1' ,'A',@l_MAKER_ID ,
635
--							@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,
636
--							@CUR_DATE,@l_HO_BRN_ID,NULL,NULL,NULL)		
637
--				
638
--							-----THEM BANG CHI TIET ASS_COST_ALLOC_DT 100% SO TIEN PHAN BO THANG					
639
--							EXEC SYS_CodeMasters_Gen 'ASS_COST_ALLOC_DT', @l_COSTDT_ID out
640
--				
641
--							INSERT INTO ASS_COST_ALLOC_DT 
642
--							VALUES(@l_COSTDT_ID,@l_COST_MASTER_ID,@l_HO_BRN_ID,@l_DEPT_ID,@l_MONTHLY_AMT,'100',@l_AMORT_MONTH,@CUR_DATE, @l_AMORT_END_DATE,0,0,@l_EXP_ACCTNO,'','1' ,'A' ,@l_MAKER_ID ,
643
--							@CUR_DATE ,NULL, NULL,@p_CHECKER_ID,@CUR_DATE)
644
--						END
645
--					END				
646
--				END
647
--				/**************************************************** END 201218************/	
648
	      DECLARE @l_AMORT_RUN_DATE DATETIME = (SELECT TOP 1 TTS.SENT_DATE FROM THREAD_TIME_SEND TTS WHERE TTS.TIME_VALUE = 'KH')
649
        DECLARE @DATE_EXEC DATETIME=CONVERT(DATETIME, @p_APPROVE_DT, 103)
650
        IF( DATEDIFF(MONTH,  @l_AMORT_START_DATE, @l_AMORT_RUN_DATE)>0)
651
        BEGIN
652
          EXEC ASS_AMORT_BackDate @p_ASSET_ID = @l_ASSET_ID
653
                                 ,@p_CHECKER_ID = @p_CHECKER_ID
654
                                 ,@p_APPROVE_DT = @DATE_EXEC
655
                                 ,@p_TRN_ID = @p_ADDNEW_ID
656
                                 ,@P_TRN_REF_NO = @l_TRN_NO
657
                                 ,@p_TRN_TYPE = 'ADD_NEW'
658
        END
659

    
660

    
661
		END	
662
			--Luctv:End	
663

    
664
			--CAP NHAT LOCATION_HIST - THIEUVQ 11112015
665
			UPDATE ASS_LOCATION_HIST SET BRANCH_ID = @l_BRANCH_ID, DEPT_ID = @l_DEPT_ID WHERE ASSET_ID =  @l_ASSET_ID
666
			IF @@Error <> 0 GOTO ABORT	
667
		--END	
668
        SET @int = @int + 1									
669
	END
670
 -- KHIEMCHG - Update PYC hoàn tất khi đã đủ số lượng PYC
671
    IF(NOT EXISTS(SELECT TOP 1 A.REQDT_ID 
672
              FROM TR_REQUEST_SHOP_DOC_DT A 
673
              WHERE A.REQ_DOC_ID = @REQ_ID 
674
                    AND ( A.QTY_ETM <> A.ALLOCATED OR (A.ALLOCATED IS NULL OR A.ALLOCATED = '' OR A.ALLOCATED = 0))
675
                    AND ((A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPDC')
676
                          OR (A.REQ_DT_TYPE = 'XKSD' AND A.TYPE_XL = 'CPTK')
677
                          OR (A.REQ_DT_TYPE = 'BUYNEW'))
678
                ))
679
    BEGIN
680
      UPDATE TR_REQUEST_SHOP_DOC SET IS_DONE = '1', STATUS = 'DONE' WHERE REQ_ID = @REQ_ID
681

    
682
      UPDATE PL_REQUEST_PROCESS SET STATUS = 'P' WHERE PROCESS_ID = 'APPROVE' AND REQ_ID = @REQ_ID
683
      UPDATE PL_REQUEST_PROCESS SET STATUS = 'C', RECEPTION_DT = CONVERT(datetime, GETDATE(), 103), APPROVE_DT = CONVERT(datetime, GETDATE(), 103) WHERE PROCESS_ID = 'DONE' AND REQ_ID = @REQ_ID
684
        
685
    END
686

    
687
	-- HUYHT 06/05/2022 THAY ĐỔI TRẠNG THÁI UPDATE CŨ THÀNH UPDATE_HC
688
	UPDATE dbo.PL_PROCESS SET PROCESS_ID = 'UPDATE_KT' WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
689
		-- GIANT Insert to table PL_PROCESS
690
	INSERT INTO dbo.PL_PROCESS
691
					(
692
					    REQ_ID,
693
					    PROCESS_ID,
694
					    CHECKER_ID,
695
					    APPROVE_DT,
696
					    PROCESS_DESC,
697
					    NOTES
698
					)
699
					VALUES
700
					(   @p_ADDNEW_ID,       
701
						'APPROVE',
702
					    @p_CHECKER_ID,        
703
					    GETDATE(), 
704
					    N'Kiểm soát viên phê duyệt hoàn tất' ,      
705
					    N'Kiểm soát viên phê duyệt'       
706
					 )
707

    
708

    
709

    
710
COMMIT TRANSACTION
711

    
712
SELECT '0' as Result, @p_ADDNEW_ID  ADDNEW_ID, '' ErrorDesc
713
RETURN '0'
714
ABORT:
715
BEGIN
716
		ROLLBACK TRANSACTION
717
		--CLOSE pCur
718
		--DEALLOCATE pCur		
719
		SELECT '-1' as Result, '' ADDNEW_ID, @ERROR ErrorDesc
720
		RETURN '-1'
721
End
722
GO
723

    
724
CREATE PROCEDURE dbo.TR_REQUEST_SHOP_DOC_Search
725
@p_REQ_ID	varchar(15)  = NULL,
726
@p_REQ_CODE	nvarchar(100)  = NULL,
727
@p_REQ_NAME	nvarchar(200)  = NULL,
728
@p_REQ_DT	VARCHAR(20) = NULL,
729
@p_REQ_TYPE	varchar(20) = NULL,
730
@p_REQ_CONTENT NVARCHAR(1000)=NULL,
731
@p_TOTAL_AMT	decimal = NULL,
732
@p_NOTES	nvarchar(1000)  = NULL,
733
@p_RECORD_STATUS	varchar(1)  = NULL,
734
@p_MAKER_ID NVARCHAR(100)  = NULL,
735
@p_CREATE_DT	VARCHAR(20) = NULL,
736
@p_AUTH_STATUS	varchar(50)  = NULL,
737
@p_CHECKER_ID VARCHAR(100)  = NULL,
738
@p_APPROVE_DT	VARCHAR(20) = NULL,
739
@p_RECEIVE_BRANCH VARCHAR(15) = NULL,
740
@p_USERNAME VARCHAR(100) = NULL,
741
@p_BRANCH_ID VARCHAR(15)=NULL,
742
@p_DEP_ID VARCHAR(15)=NULL,
743
@p_STATUS  VARCHAR(15)=NULL,
744
@p_TOP	INT = 10,
745
@p_DVKD_MANAGE_APP_FROM	VARCHAR(20) = NULL,
746
@p_DVKD_MANAGE_APP_TO	VARCHAR(20) = NULL,
747
@p_REGION_ID varchar(15)  = NULL,
748
@p_CDTYPE_PYC VARCHAR(20) = NULL --Phucvh Truyền thêm CDTYPE để xác định loại PYC
749

    
750

    
751
AS
752
BEGIN -- PAGING
753

    
754
	DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20)
755
	DECLARE  @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
756
--	INSERT INTO @ROLE_LOGIN SELECT DisplayName AS ROLE_USER FROM AbpRoles WHERE Id IN (SELECT A.RoleId FROM AbpUserRoles A 
757
--																		LEFT JOIN TL_USER B ON A.UserId = B.ID
758
--																		WHERE B.TLNANME = @p_USERNAME)
759
  INSERT INTO @ROLE_LOGIN
760
  SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr
761
	SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
762
	SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
763
	DECLARE @lstCOST TABLE
764
	(
765
		COST_ID VARCHAR(20)
766
	)
767
	INSERT INTO @lstCOST
768
	SELECT COST_ID FROM dbo.CM_COSTCENTER_DT WHERE BRANCH_ID=@BRANCH_ID AND DEP_ID=@DEP_ID
769
	-- TienLee 11/14/21 --
770
	
771
	--
772

    
773
	DECLARE @TempSTATUS   TABLE
774
	(
775
		STATUS VARCHAR(20)
776
	)
777

    
778
	IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='QLTS' ))
779
	BEGIN
780
		INSERT INTO @TempSTATUS VALUES('DVKD')
781
		INSERT INTO @TempSTATUS VALUES('DVCM')
782
	END
783
	ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' ))
784
	BEGIN
785
		INSERT INTO @TempSTATUS VALUES('QLTS_N')
786
		INSERT INTO @TempSTATUS VALUES('DVCM')
787
	END
788
	ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='CVMS' ))
789
	BEGIN
790
		INSERT INTO @TempSTATUS VALUES('QLTS_N')
791
		INSERT INTO @TempSTATUS VALUES('QLTS_XL')
792
		INSERT INTO @TempSTATUS VALUES('DVCM')
793
	END
794

    
795
		DECLARE @lstBRANCH_DEP TABLE
796
	(
797
		BRANCH_ID VARCHAR(20),
798
		DEP_ID VARCHAR(20)
799
	) 
800

    
801
--	IF(NOT EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' OR ROLE_USER='CVMS_TBP' ))
802
--	BEGIN
803
--		INSERT INTO @lstBRANCH_DEP
804
--		(BRANCH_ID,DEP_ID)
805
--		SELECT TLSUBBRID,DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME 
806
--
807
--		INSERT INTO @lstBRANCH_DEP
808
--		(BRANCH_ID,DEP_ID)
809
--		SELECT BRANCH_ID,DEP_ID FROM dbo.CM_KHOI_DT
810
--		WHERE KHOI_ID IN (SELECT KHOI_ID FROM dbo.CM_KHOI_DT WHERE DEP_ID= @DEP_ID AND BRANCH_ID=@BRANCH_ID)
811
--	END
812
--
813
--
814
--
815
--  DECLARE @tbDep TABLE(DEP_ID VARCHAR(20))
816
--INSERT INTO @tbDep
817
--SELECT ckd.DEP_ID FROM CM_DEPARTMENT cd
818
----LEFT JOIN CM_KHOI ck ON cd.DEP_CODE=ck.KHOI_CODE
819
----LEFT JOIN CM_KHOI_DT ckd ON ck.KHOI_ID = ckd.KHOI_ID
820
--WHERE cd.DEP_ID=@p_DEP_ID
821

    
822
DECLARE @REQ_ID_Temp TABLE(REQ_ID VARCHAR(20))
823
INSERT INTO @REQ_ID_Temp
824
SELECT A.REQ_ID FROM TR_REQUEST_SHOP_DOC A
825
LEFT JOIN PL_REQUEST_PROCESS B ON A.REQ_ID = B.REQ_ID AND B.STATUS = 'C'
826
WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID
827
    AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001')
828
    AND RL.ROLE_USER = B.ROLE_USER)
829
  OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
830
    JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.REQ_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID
831
    AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001')
832
    AND RL.ROLE_USER = C.ROLE_USER)
833
  OR A.MAKER_ID = @p_USERNAME)
834
GROUP BY A.REQ_ID
835

    
836
	IF((EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_SLAS' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
837
	BEGIN
838
		IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
839
			BEGIN
840
			-- PAGING BEGIN
841
				SELECT A.REQ_ID,
842
					   A.REQ_CODE,
843
					   A.REQ_NAME,
844
					   --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
845
                       A.REQ_DT,
846
					   A.REQ_TYPE,
847
					   A.REQ_CONTENT,
848
					   A.TOTAL_AMT,
849
					   A.NOTES,
850
					   A.RECORD_STATUS,
851
					   A.MAKER_ID,
852
					   A.CREATE_DT,
853
					   A.AUTH_STATUS,
854
					   A.CHECKER_ID,
855
					   A.APPROVE_DT,
856
					   A.BRANCH_ID,
857
                       CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
858
					   A.DEP_ID,
859
					   A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, 
860
                       --I.CONTENT AS REQ_STATUS_NAME,
861
                       CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' 
862
                       ELSE I.CONTENT
863
                       END REQ_STATUS_NAME,
864
						 @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,G.BRANCH_NAME,
865
						--CASE WHEN  RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' 
866
						--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
867
						D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
868
            I.CONTENT AS REQ_TYPE_NAME,
869
             CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R' 
870
                      AND A.AUTH_STATUS <> 'E' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,3,A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
871
            END AS COLOR
872
						--D.AUTH_STATUS_NAME 
873
				-- SELECT END
874
				FROM TR_REQUEST_SHOP_DOC A
875

    
876
				LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS 
877
				LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
878
				LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
879
				LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
880
--        LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
881
				--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
882
				--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID 
883
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
884
				--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID  AND PRP1.PROCESS_ID = 'CVMS_N'
885
				--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID  AND PRP2.PROCESS_ID = 'DVKD'
886
				
887
				LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
888
				WHERE 1 = 1
889
				AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
890
--				AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE)  OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
891
--				AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
892
		        AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
893
            	@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) 
894
            	OR  @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) 
895
            	OR (CONVERT(DATE, A.REQ_DT, 103)) >=  (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
896
            	)
897
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
898
				--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))		
899
				AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' 
900
            --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
901
            OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
902
				AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
903
				AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
904
				AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
905
				--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
906
				AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
907
				AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
908
				
909
				AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
910
--				AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
911
				AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
912
				AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')		
913
				AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
914
				AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT'))
915
        AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
916
        AND EXISTS(SELECT * FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
917

    
918
				AND A.RECORD_STATUS = '1'
919
				AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
920
				AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
921
				AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI  OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI 
922
				 OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
923

    
924
				ORDER BY A.REQ_DT DESC
925
			-- PAGING END
926
			END
927
		   ELSE 
928
		   BEGIN
929
		   -- PAGING BEGIN
930
				SELECT TOP(CONVERT(INT,@p_TOP))  A.REQ_ID,
931
					   A.REQ_CODE,
932
					   A.REQ_NAME,
933
					   --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
934
                       A.REQ_DT,
935
					   A.REQ_TYPE,
936
					   A.REQ_CONTENT,
937
					   A.TOTAL_AMT,
938
					   A.NOTES,
939
					   A.RECORD_STATUS,
940
					   A.MAKER_ID,
941
					   A.CREATE_DT,
942
					   A.AUTH_STATUS,
943
					   A.CHECKER_ID,
944
					   A.APPROVE_DT,
945
					   A.BRANCH_ID,
946
                       CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
947
					   A.DEP_ID,
948
					   A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, 
949
                       --I.CONTENT AS REQ_STATUS_NAME,
950
                       CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' 
951
                       ELSE I.CONTENT
952
                       END REQ_STATUS_NAME,
953
						 @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,G.BRANCH_NAME,
954
						--CASE WHEN  RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' 
955
						--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
956
						D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
957
            I.CONTENT AS REQ_TYPE_NAME,
958
             CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R' 
959
                      AND A.AUTH_STATUS <> 'E' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,3,A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
960
            END AS COLOR
961
						--D.AUTH_STATUS_NAME 
962
				-- SELECT END
963
				FROM TR_REQUEST_SHOP_DOC A
964

    
965
				LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS 
966
				LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
967
				LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
968
				LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
969
--        LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
970
				 
971
				--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
972
				--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID 
973
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
974
				--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID  AND PRP1.PROCESS_ID = 'CVMS_N'
975
				LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID  AND PRP2.PROCESS_ID = 'DVKD'
976
				
977
				LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
978
				WHERE 1 = 1
979
				AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
980
			--	AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE)  OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
981
			--	AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
982
		        AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
983
            	@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) 
984
            	OR  @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) 
985
            	OR (CONVERT(DATE, A.REQ_DT, 103)) >=  (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
986
            	)
987
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
988
				--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))		
989
				AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' 
990
            --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
991
            OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
992
        AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
993
				AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
994
				AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
995
				--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
996
				AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
997
				AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
998
				
999
				AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
1000
--				AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
1001
				AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1002
				AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')		
1003
				AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
1004
				AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT'))
1005
        AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
1006
        AND EXISTS(SELECT * FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
1007

    
1008
				AND A.RECORD_STATUS = '1'
1009
				AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
1010
				AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1011
				AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI  OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI 
1012
				 OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1013
				ORDER BY A.REQ_DT DESC
1014
			 -- PAGING END 
1015
		END
1016
	END
1017
	ELSE
1018
	BEGIN
1019
		IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
1020
			BEGIN
1021
			-- PAGING BEGIN
1022
				SELECT  A.REQ_ID,
1023
					   A.REQ_CODE,
1024
					   A.REQ_NAME,
1025
					   --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
1026
                       A.REQ_DT,
1027
					   A.REQ_TYPE,
1028
					   A.REQ_CONTENT,
1029
					   A.TOTAL_AMT,
1030
					   A.NOTES,
1031
					   A.RECORD_STATUS,
1032
					   A.MAKER_ID,
1033
					   A.CREATE_DT,
1034
					   A.AUTH_STATUS,
1035
					   A.CHECKER_ID,
1036
					   A.APPROVE_DT,
1037
					   A.BRANCH_ID,
1038
                       CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
1039
					   A.DEP_ID,
1040
					   A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, 
1041
                       --I.CONTENT AS REQ_STATUS_NAME,
1042
                       CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' 
1043
                       ELSE I.CONTENT
1044
                       END REQ_STATUS_NAME,
1045
						 @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,G.BRANCH_NAME,
1046
						--CASE WHEN  RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' 
1047
						--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
1048
						D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
1049
            CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,3,A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
1050
            END AS COLOR
1051
						--D.AUTH_STATUS_NAME 
1052
				-- SELECT END
1053
				FROM TR_REQUEST_SHOP_DOC A
1054

    
1055
				LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1056
				LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1057
				LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
1058
				LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
1059
--        LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'		
1060
				 
1061
				--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
1062
				--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID 
1063
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
1064
				--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID  AND PRP1.PROCESS_ID = 'CVMS_N'
1065
				LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID  AND PRP2.PROCESS_ID = 'DVKD'
1066
				
1067
				LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
1068
				WHERE 1 = 1
1069
				AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
1070
--				AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE)  OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
1071
--				AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
1072
		        AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
1073
            	@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) 
1074
            	OR  @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) 
1075
            	OR (CONVERT(DATE, A.REQ_DT, 103)) >=  (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
1076
            	)
1077
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
1078
				--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))		
1079
				AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' 
1080
            --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
1081
            OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1082
				AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1083
				AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1084
				AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1085
				--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1086
				AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1087
				AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1088
				
1089
				AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
1090
--				AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
1091
				AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1092
				AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')		
1093
				AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
1094
				AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT'))
1095
        AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
1096
        AND EXISTS(SELECT * FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
1097

    
1098
				AND A.RECORD_STATUS = '1'
1099
				AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
1100
				AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1101
				AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI  OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI 
1102
				 OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1103
				ORDER BY  A.REQ_DT  DESC
1104
			-- PAGING END
1105
			END
1106
		   ELSE 
1107
		   BEGIN
1108
		   -- PAGING BEGIN
1109
				SELECT TOP(CONVERT(INT,@p_TOP))  A.REQ_ID,
1110
					   A.REQ_CODE,
1111
					   A.REQ_NAME,
1112
					   --ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
1113
                       A.REQ_DT,
1114
					   A.REQ_TYPE,
1115
					   A.REQ_CONTENT,
1116
					   A.TOTAL_AMT,
1117
					   A.NOTES,
1118
					   A.RECORD_STATUS,
1119
					   A.MAKER_ID,
1120
					   A.CREATE_DT,
1121
					   A.AUTH_STATUS,
1122
					   A.CHECKER_ID,
1123
					   A.APPROVE_DT,
1124
					   A.BRANCH_ID,
1125
                       CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
1126
					   A.DEP_ID,
1127
					   A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME, 
1128
                       --I.CONTENT AS REQ_STATUS_NAME,
1129
                       CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất' 
1130
                       ELSE I.CONTENT
1131
                       END REQ_STATUS_NAME,
1132
						 @p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,G.BRANCH_NAME,
1133
						--CASE WHEN  RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt' 
1134
						--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
1135
						D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
1136
            CASE WHEN A.SEND_APP_DT IS NOT NULL AND A.SEND_APP_DT <> '' AND A.AUTH_STATUS <> 'A' AND A.AUTH_STATUS <> 'R' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,3,A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
1137
            END AS COLOR
1138
						--D.AUTH_STATUS_NAME 
1139
				-- SELECT END
1140
				FROM TR_REQUEST_SHOP_DOC A
1141

    
1142
				LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
1143
				LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
1144
				LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
1145
				LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
1146
--        LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'		
1147
				 
1148
				--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
1149
				--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID 
1150
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
1151
				--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID  AND PRP1.PROCESS_ID = 'CVMS_N'
1152
				LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID  AND PRP2.PROCESS_ID = 'DVKD'
1153
				
1154
				LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
1155
				WHERE 1 = 1
1156
				AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
1157
				--AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE)  OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
1158
				--AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
1159
		        AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
1160
            	@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) 
1161
            	OR  @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103)) 
1162
            	OR (CONVERT(DATE, A.REQ_DT, 103)) >=  (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
1163
            	)
1164
				--AND (((RQT.PROCESS_ID = A.STATUS AND  RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
1165
				--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))		
1166
				AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' 
1167
            --OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
1168
            OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
1169
				AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
1170
				AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
1171
				AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
1172
				--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1173
				AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1174
				AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
1175
				
1176
				AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
1177
--				AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
1178
				AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
1179
				AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')		
1180
				AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
1181
				AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT'))
1182
        AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
1183
        AND EXISTS(SELECT * FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
1184

    
1185
				AND A.RECORD_STATUS = '1'
1186
				AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
1187
				AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI  OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
1188
				AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI  OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI 
1189
				 OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
1190
				ORDER BY A.REQ_DT  DESC
1191
			 -- PAGING END 
1192
		END
1193
	END
1194
	
1195
		
1196
		
1197
   END