Project

General

Profile

EXPORT NGÂN SÁCH CHI PHÍ - LẦN 4.txt

Luc Tran Van, 05/11/2023 04:58 PM

 
1

    
2

    
3
DECLARE @listTRADE TABLE
4
			(
5
				GOODS_ID VARCHAR(20),
6
				TRADE_ID VARCHAR(20),
7
				PLAN_ID VARCHAR(20),
8
				AMT_APP DECIMAL(18,2),
9
				AMT_EXE DECIMAL (18,2),
10
				AMT_ETM DECIMAL (18,2),
11
				AMT_TF DECIMAL (18,2),
12
				AMT_RECEIVE_TF DECIMAL (18,2),
13
        NOTES NVARCHAR(1000),
14
        AMT_ETM_TMP DECIMAL (18,2)
15
				
16
			)
17
INSERT INTO @listTRADE
18
					( GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF,NOTES,AMT_ETM_TMP)
19
          SELECT * FROM
20
          (
21
          SELECT DISTINCT GOODS_ID,TRADE_ID,PLAN_ID,ISNULL(AMT_APP,0) AS AMT_APP,ISNULL(AMT_EXE,0) AS AMT_EXE,ISNULL(AMT_ETM,0) AS AMT_ETM,ISNULL(AMT_TF,0) AS AMT_TF,ISNULL(AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,'' NOTES,ISNULL(AMT_ETM_TMP,0) AS AMT_ETM_TMP FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID='PLRD00000207183'
22
          UNION ALL
23
          SELECT DISTINCT FR_GOOD_ID GOODS_ID,FR_TRADE_ID TRADE_ID,FR_PLAN_ID PLAN_ID,ISNULL(FR_AMT_APP,0) AMT_APP,ISNULL(FR_AMT_EXE,0) AMT_EXE,ISNULL(FR_AMT_ETM,0) AMT_ETM,ISNULL(FR_AMT_TF,0) AMT_TF,ISNULL(FR_AMT_RECEIVE_TF,0) AMT_RECEIVE_TF,'' NOTES,ISNULL(FR_AMT_ETM_TMP,0) AMT_ETM_TMP 
24
		  FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID='PLRD00000207183' AND ISNULL(FR_GOOD_ID,'') <> ''
25
          UNION ALL
26
          SELECT DISTINCT TO_GOOD_ID GOODS_ID,TO_TRADE_ID TRADE_ID,TO_PLAN_ID PLAN_ID,ISNULL(TO_AMT_APP,0) AMT_APP,ISNULL(TO_AMT_EXE,0) AMT_EXE,ISNULL(TO_AMT_ETM,0) AMT_ETM,ISNULL(TO_AMT_TF,0) AMT_TF,ISNULL(TO_AMT_RECEIVE_TF,0) AMT_RECEIVE_TF,'' NOTES,ISNULL(TO_AMT_ETM_TMP,0) AMT_ETM_TMP FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID='PLRD00000207183'
27
          ) T GROUP BY GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF,NOTES,AMT_ETM_TMP
28
SELECT * FROM @listTRADE ----11052023_SECRETKEY
29

    
30
DECLARE @TABLE1 TABLE (
31
				STT INT,
32
				GD_NAME NVARCHAR(200),
33
				AMT_APP DECIMAL(18, 2),
34
				AMT_EXE DECIMAL(18, 2),
35
				AMT_REMAIN DECIMAL(18, 2),
36
				TOTAL_AMT DECIMAL(18, 2),
37
				TOTAL_AMT_FN DECIMAL(18, 2),
38
				CHECKER_NAME NVARCHAR(200),
39
				XN_NAME VARCHAR(15),
40
				TOTAL_AMT_RECIVE DECIMAL(18, 2)
41
			)
42
			INSERT INTO @TABLE1(STT,GD_NAME,AMT_APP,AMT_EXE,AMT_REMAIN,TOTAL_AMT,TOTAL_AMT_FN,CHECKER_NAME,XN_NAME,TOTAL_AMT_RECIVE)
43
			SELECT ROW_NUMBER() OVER (ORDER BY CG.GD_NAME) AS STT ,CG.GD_NAME,
44
			ISNULL(PT.AMT_APP,0) AS AMT_APP,
45
			ISNULL(PT.AMT_ETM,0) + ISNULL(PT.AMT_ETM_TMP,0) AS AMT_EXE,
46
			ISNULL(PT.AMT_APP,0) + ISNULL(PT.AMT_RECEIVE_TF,0)- ISNULL(PT.AMT_TF,0)-ISNULL(PT.AMT_ETM,0) - ISNULL(PT.AMT_ETM_TMP,0) AS AMT_REMAIN,
47
			SUM(ISNULL(PLDT.TOTAL_AMT,0)) AS TOTAL_AMT,
48
			ISNULL(PT.AMT_APP,0) + ISNULL(PT.AMT_RECEIVE_TF,0) - ISNULL(PT.AMT_TF,0) -ISNULL(PT.AMT_ETM,0) -ISNULL(PT.AMT_ETM_TMP,0) -SUM(ISNULL(PLDT.TOTAL_AMT,0)) AS TOTAL_AMT_FN,
49
			CASE
50
				WHEN PL.PROCESS_ID='APPROVE' THEN USC.TLFullName
51
				
52
				ELSE N''
53
			END AS CHECKER_NAME,
54
			
55
			'' AS XN_NAME,
56
			ISNULL(PT.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF
57
			FROM
58
			dbo.PL_REQUEST_DOC_DT PLDT
59

    
60
			LEFT JOIN @listTRADE PT ON PT.TRADE_ID=PLDT.TRADE_ID
61
			LEFT JOIN dbo.PL_MASTER PM ON PM.PLAN_ID=PLDT.PLAN_ID
62
			LEFT JOIN dbo.CM_GOODS CG ON CG.GD_ID=PLDT.GOODS_ID 
63
			LEFT JOIN dbo.TL_USER USC ON USC.TLNANME=PLDT.CHECKER_ID
64
			LEFT JOIN dbo.PL_REQUEST_DOC PL ON PL.REQ_ID=PLDT.REQ_ID
65
			WHERE PLDT.REQ_ID='PLRD00000207183'
66
			GROUP BY PT.GOODS_ID,PT.AMT_APP,PT.AMT_ETM,PT.AMT_RECEIVE_TF,PT.AMT_TF,CG.GD_NAME,PLDT.REQ_ID,USC.TLFullName,PL.PROCESS_ID,PT.AMT_ETM_TMP
67
SELECT * FROM @TABLE1