Project

General

Profile

PL_REQUEST_TRANSFER_DT_ByID.txt

Luc Tran Van, 12/06/2022 12:32 PM

 
1
ALTER PROCEDURE dbo.PL_REQUEST_TRANSFER_DT_ByID
2
@P_REQ_ID varchar(15),
3
@p_TYPE VARCHAR(15),
4
@p_TLNAME VARCHAR(20)
5
AS
6

    
7
DECLARE @listTRADE TABLE
8
	(
9
		GOODS_ID VARCHAR(20),
10
		TRADE_ID VARCHAR(20),
11
		PLAN_ID VARCHAR(20),
12
		AMT_APP DECIMAL(18,2),
13
		AMT_EXE DECIMAL (18,2),
14
		AMT_ETM DECIMAL (18,2),
15
		AMT_TF DECIMAL (18,2),
16
		AMT_RECEIVE_TF DECIMAL (18,2),
17
		NOTES NVARCHAR(1000),
18
    AMT_ETM_TMP DECIMAL(18,2)
19
	)
20

    
21
--	IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@P_REQ_ID AND PROCESS_ID='APPROVE'))
22
--	BEGIN
23
--		IF(EXISTS(SELECT * FROM dbo.PL_TRADEDETAIL_HIST WHERE REQ_ID=@P_REQ_ID))
24
--		BEGIN
25
--			INSERT INTO @listTRADE
26
--			( GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF, NOTES)
27
--			SELECT GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF, NOTES FROM dbo.PL_TRADEDETAIL_HIST WHERE REQ_ID=@P_REQ_ID
28
--		END
29
--		ELSE
30
--		BEGIN
31
--			INSERT INTO @listTRADE
32
--			( GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF, NOTES)
33
--			SELECT PT.GOODS_ID,PT.TRADE_ID,PT.PLAN_ID,PT.AMT_APP,PT.AMT_EXE,PT.AMT_ETM-PLDT.TOTAL_AMT,PT.AMT_TF-PLFT.TOTAL_AMT,PT.AMT_RECEIVE_TF-PLTT.TOTAL_AMT, PT.NOTES FROM dbo.PL_TRADEDETAIL PT
34
--			LEFT JOIN 
35
--			(
36
--			SELECT TRADE_ID, SUM(TOTAL_AMT) TOTAL_AMT FROM
37
--			dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@P_REQ_ID
38
--			GROUP BY TRADE_ID
39
--			) PLDT ON PLDT.TRADE_ID = PT.TRADE_ID
40
--			LEFT JOIN 
41
--			(
42
--			SELECT FR_TRADE_ID, SUM(TOTAL_AMT) TOTAL_AMT FROM
43
--			dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@P_REQ_ID
44
--			GROUP BY FR_TRADE_ID
45
--			) PLFT ON PLFT.FR_TRADE_ID = PT.TRADE_ID
46
--
47
--			LEFT JOIN 
48
--			(
49
--			SELECT TO_TRADE_ID, SUM(TOTAL_AMT) TOTAL_AMT FROM
50
--			dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@P_REQ_ID
51
--			GROUP BY TO_TRADE_ID
52
--			) PLTT ON PLTT.TO_TRADE_ID = PT.TRADE_ID
53
--			WHERE (PT.TRADE_ID IN (SELECT TRADE_ID FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_REQ_ID) OR PT.TRADE_ID IN (SELECT FR_TRADE_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID))
54
--		END
55
--	END
56
--	ELSE
57
--	BEGIN
58
--			INSERT INTO @listTRADE
59
--			( GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF, NOTES)
60
--			SELECT GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF, NOTES FROM dbo.PL_TRADEDETAIL WHERE (TRADE_ID IN (SELECT TO_TRADE_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID) OR TRADE_ID IN (SELECT FR_TRADE_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID))
61
--	END
62
DECLARE @DEP_FEE_ID VARCHAR(15), @DEP_FEE_NAME NVARCHAR(1000), @BRANCH_FEE_ID VARCHAR(15), @BRANCH_FEE_NAME NVARCHAR(1000), @DVCCP NVARCHAR(1000)
63
SET @DEP_FEE_ID =(SELECT DEP_FEE FROM PL_REQUEST_DOC WHERE REQ_ID =@P_REQ_ID)
64
SET @DEP_FEE_NAME =(SELECT DEP_NAME FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_FEE_ID)
65
SET @BRANCH_FEE_ID =(SELECT BRANCH_FEE FROM PL_REQUEST_DOC WHERE REQ_ID =@P_REQ_ID)
66
SET @BRANCH_FEE_NAME =(SELECT BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_FEE_ID)
67
IF(@BRANCH_FEE_ID ='DV0001')
68
BEGIN
69
	SET @DVCCP =@BRANCH_FEE_NAME + ' - '+ @DEP_FEE_NAME
70
END
71
ELSE
72
BEGIN
73
	SET @DVCCP =@BRANCH_FEE_NAME;
74
END
75
  IF (EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@P_REQ_ID AND PROCESS_ID IN ('','SIGN','APPNEW','REJECT')))
76
      BEGIN
77
  			INSERT INTO @listTRADE
78
  			( GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF,NOTES,AMT_ETM_TMP)
79
  			SELECT GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF,NOTES,
80
        (SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
81
        FROM dbo.PL_REQUEST_DOC_DT DDT
82
        LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_ID = DOC.REQ_ID
83
        WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
84
        AND DDT.TRADE_ID = PL.TRADE_ID
85
        AND DOC.REQ_ID <> @p_REQ_ID)
86
        +
87
        (SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
88
        FROM dbo.PL_REQUEST_TRANSFER DDT
89
        LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_DOC_ID = DOC.REQ_ID
90
        WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
91
        AND DDT.FR_TRADE_ID = PL.TRADE_ID
92
        AND DOC.REQ_ID <> @p_REQ_ID)
93
        AS AMT_ETM_TMP
94
        FROM dbo.PL_TRADEDETAIL PL
95
        WHERE (TRADE_ID IN (SELECT TO_TRADE_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID)
96
        OR TRADE_ID IN (SELECT FR_TRADE_ID FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@p_REQ_ID))
97
      END
98
      ELSE
99
			BEGIN
100
					INSERT INTO @listTRADE
101
					( GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF,NOTES,AMT_ETM_TMP)
102
          SELECT * FROM
103
          (
104
          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=@P_REQ_ID
105
          UNION ALL
106
          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 FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@P_REQ_ID
107
          UNION ALL
108
          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=@P_REQ_ID
109
          ) T GROUP BY GOODS_ID,TRADE_ID,PLAN_ID,AMT_APP,AMT_EXE,AMT_ETM,AMT_TF,AMT_RECEIVE_TF,NOTES,AMT_ETM_TMP
110
			END
111

    
112
DECLARE
113
@COST_ID TABLE (
114
	COST_ID VARCHAR(15)
115
)
116

    
117
DECLARE @DVDM_ID TABLE (
118
	DVDM_ID VARCHAR(15)
119
)
120

    
121
DECLARE @DEP_ID VARCHAR(15),@BRANCH_ID  VARCHAR(15),@ROLE VARCHAR(15),@IS_ALL BIT
122

    
123
	
124
	SET @IS_ALL=0
125

    
126
SET @DEP_ID=(SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME)
127
SET @BRANCH_ID=(SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME)
128

    
129
IF(EXISTS(SELECT ID FROM PL_ROLE_DATA_CONFIG WHERE ROLE_TYPE='PL_MASTER' AND BRANCH_ID=@BRANCH_ID AND DEP_ID=@DEP_ID))
130
		SET @IS_ALL=1
131

    
132
SET @ROLE=(SELECT RoleName FROM dbo.TL_USER WHERE TLNANME=@p_TLNAME)
133

    
134
	INSERT INTO @COST_ID
135
	SELECT COST_ID FROM dbo.PL_COSTCENTER_DT WHERE DEP_ID=@DEP_ID AND BRANCH_ID=@BRANCH_ID
136

    
137
	INSERT INTO @DVDM_ID
138
	SELECT DVDM_ID FROM dbo.PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM @COST_ID) GROUP BY DVDM_ID
139

    
140
IF(@p_TYPE='DVKD')
141
BEGIN
142
	SELECT DISTINCT A.*,FB.BRANCH_CODE AS FR_BRANCH_CODE, FB.BRANCH_NAME AS FR_BRANCH_NAME,TB.BRANCH_CODE AS TO_BRANCH_CODE,
143
		ISNULL(FG.GD_CODE,LF_DT.GOOD_CODE) AS FR_GD_CODE,ISNULL(FG.GD_NAME,LF_DT.GOOD_NAME) AS FR_GD_NAME,
144
		ISNULL(TG.GD_CODE,LT_DT.GOOD_CODE) AS TO_GD_CODE,ISNULL(TG.GD_NAME,LT_DT.GOOD_NAME) AS TO_GD_NAME,
145
		CASE  WHEN A.AUTH_STATUS='A' THEN N'Đã xác nhận' ELSE N'Chưa xác nhận' END AS STATUS_NAME,
146
		DMF.DVDM_CODE AS FR_DVDM_CODE, DMF.DVDM_NAME AS FR_DVDM_NAME, DMT.DVDM_CODE AS TO_DVDM_CODE, DMT.DVDM_NAME AS TO_DVDM_NAME,
147
		CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_NAME AS KHOI_NAME,
148
		FD.DEP_NAME AS FR_DEP_NAME,FD.DEP_CODE AS FR_DEP_CODE,TD.DEP_NAME AS TO_DEP_NAME,TD.DEP_CODE AS TO_DEP_CODE,
149
		ISNULL(PLF.AMT_APP,0) AS FR_AMT_APP,
150
    ISNULL(PLF.AMT_APP,0) + ISNULL(PLF.AMT_RECEIVE_TF,0) - ISNULL(PLF.AMT_TF,0) - ISNULL(PLF.AMT_ETM,0) - ISNULL(PLF.AMT_ETM_TMP,0) AS FR_AMT_REMAIN_ETM,
151
    ISNULL(PLT.AMT_APP,0) AS TO_AMT_APP,
152
    ISNULL(PLT.AMT_APP,0) + ISNULL(PLT.AMT_RECEIVE_TF,0) - ISNULL(PLT.AMT_TF,0) - ISNULL(PLT.AMT_ETM,0) - ISNULL(PLT.AMT_ETM_TMP,0) AS TO_AMT_REMAIN_ETM,
153
		ISNULL(PLF.AMT_EXE,0) AS AMT_EXE, 
154
		ISNULL(PLF.AMT_ETM,0) AS AMT_ETM,
155
		ISNULL(PLF.AMT_TF,0) AS AMT_TF, 
156
		ISNULL(PLF.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,
157
		ISNULL(PLF.AMT_APP,0) + ISNULL(PLF.AMT_RECEIVE_TF,0) - ISNULL(PLF.AMT_TF,0) - ISNULL(PLF.AMT_EXE,0) AS AMT_REMAIN,
158
		ISNULL(PLF.AMT_APP,0) + ISNULL(PLF.AMT_RECEIVE_TF,0) - ISNULL(PLF.AMT_TF,0) - ISNULL(PLF.AMT_ETM,0)
159
    -(SELECT ISNULL(SUM(DDT.TOTAL_AMT),0)
160
      FROM dbo.PL_REQUEST_DOC_DT DDT
161
      LEFT JOIN dbo.PL_REQUEST_DOC DOC ON DDT.REQ_ID = DOC.REQ_ID
162
      WHERE DOC.PROCESS_ID NOT IN ('','SIGN','APPNEW','REJECT','APPROVE','SETTLMENT')
163
      AND DDT.TRADE_ID = PLF.TRADE_ID
164
      AND DOC.REQ_ID <> A.REQ_DOC_ID)  AS AMT_REMAIN_ETM,
165
		ISNULL(PLF.AMT_APP,0) + ISNULL(PLF.AMT_RECEIVE_TF,0) - ISNULL(PLF.AMT_TF,0) - ISNULL(PLF.AMT_ETM,0) - ISNULL((SELECT  SUM(Temp.TOTAL_AMT) AS TOTAL_AMT 
166
		FROM dbo.PL_REQUEST_TRANSFER Temp WHERE
167
			Temp.REQ_DOC_ID=@P_REQ_ID AND Temp.FR_TRADE_ID= A.FR_TRADE_ID AND EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@P_REQ_ID AND PROCESS_ID <> 'APPROVE' )
168
		GROUP BY Temp.FR_TRADE_ID
169
		),0)AS AMT_REMAIN_ETM_TF,
170
		ISNULL(PLT.AMT_APP,0) + ISNULL(PLT.AMT_RECEIVE_TF,0) - ISNULL(PLT.AMT_TF,0) - ISNULL(PLT.AMT_ETM,0) AS AMT_REMAIN_ETM_TO,
171
		GTF.GD_TYPE_NAME AS FR_GD_TYPE_NAME,GTF.GD_TYPE_CODE AS FR_GD_TYPE_CODE,GTF.GD_TYPE_ID AS FR_GD_TYPE_ID,
172
		GTT.GD_TYPE_NAME AS TO_GD_TYPE_NAME,GTT.GD_TYPE_CODE AS TO_GD_TYPE_CODE,GTT.GD_TYPE_ID AS TO_GD_TYPE_ID,
173
		 --GIANT 22/10/2021
174
		 --CASE WHEN A.FR_DEP_ID <> '' 
175
			--	THEN FD.DEP_NAME + N' - ' + FB.BRANCH_NAME 
176
			--ELSE
177
			--	FB.BRANCH_NAME END AS FR_BRANCH_NAME,
178
      CASE WHEN A.FR_PLAN_ID IS NOT NULL AND A.FR_PLAN_ID <> ''
179
      THEN ISNULL(AD1.DEP_NAME + ' - ','') + AC1.BRANCH_NAME
180
      ELSE ISNULL(FD.DEP_NAME + N' - ','') + FB.BRANCH_NAME END AS FR_BRANCH_NAME, --- LUCTV 25.11.2022 DON VI CHUYEN LOAD DON VI DANG QUAN LY NGAN SACH
181
			CASE 
182
				--WHEN A.TO_DEP_ID <> '' AND A.TO_BRN_ID ='DV0001' THEN TD.DEP_NAME + N' - ' + TB.BRANCH_NAME  --- LUCTV 14.11.2022 FIX CACH SHOW DON VI NHAN NEU HOI SO MOI SHOW PHONG BAN
183
				--WHEN A.TO_BRN_ID <> '' AND  (A.TO_DEP_ID ='' OR A.TO_BRN_ID <>'DV0001') THEN  TB.BRANCH_NAME --- LUCTV 14.11.2022 FIX CACH SHOW DON VI NHAN
184
		WHEN ISNULL(A.TO_TRADE_ID,'') <> '' THEN ISNULL(AD2.DEP_NAME + ' - ','') + AC2.BRANCH_NAME
185
		--WHEN ISNULL(A.TO_DEP_ID,'') ='' AND ISNULL(A.TO_BRN_ID,'') ='' THEN @DVCCP
186
		WHEN ISNULL(A.TO_TRADE_ID,'')='' THEN @DVCCP
187
		END AS TO_BRANCH_NAME,
188
		--A.FR_AMT_FINAL + A.TOTAL_AMT AS FR_AMT_REMAIN,
189
		--A.TO_AMT_FINAL - A.TOTAL_AMT AS TO_AMT_REMAIN
190
		A.FR_AMT_FINAL - A.TOTAL_AMT AS FR_AMT_REMAIN,
191
		A.TO_AMT_FINAL + A.TOTAL_AMT AS TO_AMT_REMAIN,
192
		FPM.YEAR AS fR_GD_YEAR, TPM.YEAR AS tO_GD_YEAR,
193
    ISNULL(AD1.DEP_NAME + ' - ','') + AC1.BRANCH_NAME AS FR_BRANCH_FEE_FULL
194
	FROM dbo.PL_REQUEST_TRANSFER A
195
	LEFT JOIN dbo.CM_BRANCH FB ON FB.BRANCH_ID=A.FR_BRN_ID
196
	LEFT JOIN dbo.CM_BRANCH TB ON TB.BRANCH_ID=A.TO_BRN_ID
197
	LEFT JOIN dbo.CM_DEPARTMENT FD ON FD.DEP_ID=A.FR_DEP_ID
198
	LEFT JOIN dbo.CM_DEPARTMENT TD ON TD.DEP_ID=A.TO_DEP_ID
199
	LEFT JOIN dbo.CM_GOODS FG ON FG.GD_ID=A.FR_GOOD_ID
200
	LEFT JOIN dbo.CM_GOODS TG ON TG.GD_ID=A.TO_GOOD_ID
201
	LEFT JOIN dbo.PL_IMPORT_DT LF_DT ON LF_DT.TRADE_ID=A.FR_TRADE_ID AND( LF_DT.TRADE_ID IS NOT NULL AND LF_DT.TRADE_ID<>'')
202
	LEFT JOIN dbo.PL_IMPORT_DT LT_DT ON LT_DT.TRADE_ID=A.TO_TRADE_ID AND( LT_DT.TRADE_ID IS NOT NULL AND LT_DT.TRADE_ID<>'')
203
	LEFT JOIN dbo.CM_DVDM DMF ON DMF.DVDM_ID=A.FR_DVDM_ID
204
	LEFT JOIN dbo.CM_DVDM DMT ON DMT.DVDM_ID=A.TO_DVDM_ID
205
	LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=A.FR_KHOI_ID
206
	--INNER JOIN @listTRADE PLF ON PLF.TRADE_ID=A.FR_TRADE_ID
207
	--INNER JOIN @listTRADE PLT ON PLT.TRADE_ID=A.TO_TRADE_ID
208
	LEFT JOIN @listTRADE PLF ON PLF.TRADE_ID=A.FR_TRADE_ID
209
	LEFT JOIN @listTRADE PLT ON PLT.TRADE_ID=A.TO_TRADE_ID
210
	LEFT JOIN dbo.CM_GOODSTYPE GTF ON FG.GD_CODE LIKE '%.' + GTF.GD_TYPE_CODE +'.%'
211
	LEFT JOIN dbo.CM_GOODSTYPE GTT ON TG.GD_CODE LIKE '%.' + GTT.GD_TYPE_CODE +'.%'
212
	LEFT JOIN dbo.PL_MASTER FPM ON FPM.PLAN_ID = A.FR_PLAN_ID
213
	LEFT JOIN dbo.PL_MASTER TPM ON TPM.PLAN_ID = A.TO_PLAN_ID
214
	LEFT JOIN CM_BRANCH AC1 ON AC1.BRANCH_ID = FPM.BRANCH_ID
215
	LEFT JOIN CM_DEPARTMENT AD1 ON AD1.DEP_ID = FPM.DEPT_ID
216
	LEFT JOIN CM_BRANCH AC2 ON AC2.BRANCH_ID = TPM.BRANCH_ID
217
	LEFT JOIN CM_DEPARTMENT AD2 ON AD2.DEP_ID = TPM.DEPT_ID
218
	WHERE A.REQ_DOC_ID=@P_REQ_ID
219
    ORDER BY A.REQ_TRANSFER_ID
220
END
221
ELSE IF(@p_TYPE='PDTT')
222
BEGIN
223
	SELECT A.*,FB.BRANCH_CODE AS FR_BRANCH_CODE, FB.BRANCH_NAME AS FR_BRANCH_NAME,TB.BRANCH_CODE AS TO_BRANCH_CODE,
224
	TB.BRANCH_NAME AS TO_BRANCH_NAME,
225
	ISNULL(FG.GD_CODE,LF_DT.GOOD_CODE) AS FR_GD_CODE,ISNULL(FG.GD_NAME,LT_DT.GOOD_NAME) AS FR_GD_NAME,
226
	ISNULL(TG.GD_CODE,LT_DT.GOOD_CODE) AS TO_GD_CODE,ISNULL(TG.GD_NAME,LT_DT.GOOD_NAME) AS TO_GD_NAME,
227
	CASE  WHEN A.AUTH_STATUS='A' THEN N'Đã xác nhận' ELSE N'Chưa xác nhận' END AS STATUS_NAME
228
	,DM.DVDM_CODE,DM.DVDM_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_NAME AS KHOI_NAME,FD.DEP_NAME AS FR_DEP_NAME,FD.DEP_CODE AS FR_DEP_CODE,TD.DEP_NAME AS TO_DEP_NAME,TD.DEP_CODE AS TO_DEP_CODE,
229
	(ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)) AS AMT_APP,ISNULL(PL.AMT_EXE,0) AS AMT_EXE, ISNULL(PL.AMT_ETM,0) AS AMT_ETM,ISNULL(PL.AMT_TF,0) AS AMT_TF, ISNULL(PL.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,
230
	 ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)-ISNULL(PL.AMT_EXE,0) AS AMT_REMAIN,
231
	 ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)-ISNULL(PL.AMT_ETM,0) AS AMT_REMAIN_ETM,
232
	 ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)-ISNULL(PL.AMT_ETM,0) - ISNULL((SELECT  SUM(Temp.TOTAL_AMT) AS TOTAL_AMT FROM dbo.PL_REQUEST_TRANSFER Temp WHERE
233
	 Temp.REQ_DOC_ID=@P_REQ_ID AND Temp.FR_TRADE_ID= A.FR_TRADE_ID AND EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@P_REQ_ID AND PROCESS_ID <> 'APPROVE' )
234
	 GROUP BY Temp.FR_TRADE_ID
235
	 ),0)AS AMT_REMAIN_ETM_TF,GTF.GD_TYPE_NAME AS FR_GD_TYPE_NAME,GTF.GD_TYPE_CODE AS FR_GD_TYPE_CODE,GTF.GD_TYPE_ID AS FR_GD_TYPE_ID,
236
	 GTT.GD_TYPE_NAME AS TO_GD_TYPE_NAME,GTT.GD_TYPE_CODE AS TO_GD_TYPE_CODE,GTT.GD_TYPE_ID AS TO_GD_TYPE_ID
237
	FROM dbo.PL_REQUEST_TRANSFER A
238
	LEFT JOIN dbo.CM_BRANCH FB ON FB.BRANCH_ID=A.FR_BRN_ID
239
	LEFT JOIN dbo.CM_BRANCH TB ON TB.BRANCH_ID=A.TO_BRN_ID
240
	LEFT JOIN dbo.CM_DEPARTMENT FD ON FD.DEP_ID=A.FR_DEP_ID
241
	LEFT JOIN dbo.CM_DEPARTMENT TD ON TD.DEP_ID=A.TO_DEP_ID
242
	LEFT JOIN dbo.CM_GOODS FG ON FG.GD_ID=A.FR_GOOD_ID
243
	LEFT JOIN dbo.CM_GOODS TG ON TG.GD_ID=A.TO_GOOD_ID
244
	LEFT JOIN dbo.PL_IMPORT_DT LF_DT ON LF_DT.TRADE_ID=A.FR_TRADE_ID AND( LF_DT.TRADE_ID IS NOT NULL AND LF_DT.TRADE_ID<>'')
245
	LEFT JOIN dbo.PL_IMPORT_DT LT_DT ON LT_DT.TRADE_ID=A.TO_TRADE_ID AND( LT_DT.TRADE_ID IS NOT NULL AND LT_DT.TRADE_ID<>'')
246
	LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=A.FR_DVDM_ID
247
	LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=A.FR_KHOI_ID
248
	LEFT JOIN @listTRADE PL ON PL.TRADE_ID=A.FR_TRADE_ID
249
	LEFT JOIN dbo.CM_GOODSTYPE GTF ON FG.GD_CODE LIKE '%.' + GTF.GD_TYPE_CODE +'.%'
250
	LEFT JOIN dbo.CM_GOODSTYPE GTT ON TG.GD_CODE LIKE '%.' + GTT.GD_TYPE_CODE +'.%'
251
	 WHERE A.REQ_DOC_ID=@P_REQ_ID 
252
   ORDER BY A.REQ_TRANSFER_ID
253
	 --AND (@ROLE='TGD' OR @IS_ALL=1 OR @ROLE='HDQT' OR EXISTS(SELECT * FROM @DVDM_ID WHERE DVDM_ID=A.FR_DVDM_ID OR DVDM_ID=A.FR_KHOI_ID OR
254
	 --A.TO_DVDM_ID=DVDM_ID OR A.TO_KHOI_ID=DVDM_ID
255
	 --))
256
END
257
ELSE IF(@p_TYPE='XLTT' OR @p_TYPE='TFJOB')
258
BEGIN
259
	SELECT A.*,FB.BRANCH_CODE AS FR_BRANCH_CODE, FB.BRANCH_NAME AS FR_BRANCH_NAME,TB.BRANCH_CODE AS TO_BRANCH_CODE,
260
	TB.BRANCH_NAME AS TO_BRANCH_NAME,
261
	ISNULL(FG.GD_CODE,LF_DT.GOOD_CODE) AS FR_GD_CODE,ISNULL(FG.GD_NAME,LT_DT.GOOD_NAME) AS FR_GD_NAME,
262
	ISNULL(TG.GD_CODE,LT_DT.GOOD_CODE) AS TO_GD_CODE,ISNULL(TG.GD_NAME,LT_DT.GOOD_NAME) AS TO_GD_NAME,
263
	CASE  WHEN A.AUTH_STATUS='A' THEN N'Đã xác nhận' ELSE N'Chưa xác nhận' END AS STATUS_NAME
264
	,DM.DVDM_CODE,DM.DVDM_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_NAME AS KHOI_NAME,FD.DEP_NAME AS FR_DEP_NAME,FD.DEP_CODE AS FR_DEP_CODE,TD.DEP_NAME AS TO_DEP_NAME,TD.DEP_CODE AS TO_DEP_CODE,
265
	(ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)) AS AMT_APP,ISNULL(PL.AMT_EXE,0) AS AMT_EXE, ISNULL(PL.AMT_ETM,0) AS AMT_ETM,ISNULL(PL.AMT_TF,0) AS AMT_TF, ISNULL(PL.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,
266
	 ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)-ISNULL(PL.AMT_EXE,0) AS AMT_REMAIN,
267
	 ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)-ISNULL(PL.AMT_ETM,0) AS AMT_REMAIN_ETM,
268
	 ISNULL(PL.AMT_APP,0) + ISNULL(PL.AMT_RECEIVE_TF,0)-ISNULL(PL.AMT_TF,0)-ISNULL(PL.AMT_ETM,0) - ISNULL((SELECT  SUM(Temp.TOTAL_AMT) AS TOTAL_AMT FROM dbo.PL_REQUEST_TRANSFER Temp WHERE
269
	 Temp.REQ_DOC_ID=@P_REQ_ID AND Temp.FR_TRADE_ID= A.FR_TRADE_ID AND EXISTS(SELECT REQ_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@P_REQ_ID AND PROCESS_ID <> 'APPROVE' )
270
	 GROUP BY Temp.FR_TRADE_ID
271
	 ),0)AS AMT_REMAIN_ETM_TF,GTF.GD_TYPE_NAME AS FR_GD_TYPE_NAME,GTF.GD_TYPE_CODE AS FR_GD_TYPE_CODE,GTF.GD_TYPE_ID AS FR_GD_TYPE_ID,
272
	 GTT.GD_TYPE_NAME AS TO_GD_TYPE_NAME,GTT.GD_TYPE_CODE AS TO_GD_TYPE_CODE,GTT.GD_TYPE_ID AS TO_GD_TYPE_ID
273
	FROM dbo.PL_REQUEST_TRANSFER A
274
	LEFT JOIN dbo.CM_BRANCH FB ON FB.BRANCH_ID=A.FR_BRN_ID
275
	LEFT JOIN dbo.CM_BRANCH TB ON TB.BRANCH_ID=A.TO_BRN_ID
276
	LEFT JOIN dbo.CM_DEPARTMENT FD ON FD.DEP_ID=A.FR_DEP_ID
277
	LEFT JOIN dbo.CM_DEPARTMENT TD ON TD.DEP_ID=A.TO_DEP_ID
278
	LEFT JOIN dbo.CM_GOODS FG ON FG.GD_ID=A.FR_GOOD_ID
279
	LEFT JOIN dbo.CM_GOODS TG ON TG.GD_ID=A.TO_GOOD_ID
280
	LEFT JOIN dbo.PL_IMPORT_DT LF_DT ON LF_DT.TRADE_ID=A.FR_TRADE_ID AND( LF_DT.TRADE_ID IS NOT NULL AND LF_DT.TRADE_ID<>'')
281
	LEFT JOIN dbo.PL_IMPORT_DT LT_DT ON LT_DT.TRADE_ID=A.TO_TRADE_ID AND( LT_DT.TRADE_ID IS NOT NULL AND LT_DT.TRADE_ID<>'')
282
	LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=A.FR_DVDM_ID
283
	LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=A.FR_KHOI_ID
284
	LEFT JOIN @listTRADE PL ON PL.TRADE_ID=A.FR_TRADE_ID
285
	LEFT JOIN dbo.CM_GOODSTYPE GTF ON FG.GD_CODE LIKE '%.' + GTF.GD_TYPE_CODE +'.%'
286
	LEFT JOIN dbo.CM_GOODSTYPE GTT ON TG.GD_CODE LIKE '%.' + GTT.GD_TYPE_CODE +'.%'
287
	 WHERE A.REQ_DOC_ID=@P_REQ_ID 
288
   ORDER BY A.REQ_TRANSFER_ID
289
	 --AND  (A.FR_BRN_ID=@BRANCH_ID AND( A.FR_DEP_ID=@DEP_ID OR A.FR_DEP_ID IS NULL OR A.FR_DEP_ID='')OR  @ROLE='TGD' OR @IS_ALL=1 OR @ROLE='HDQT')
290
END