Project

General

Profile

BBBG_DC.txt

Luc Tran Van, 05/09/2023 09:51 AM

 
1
ALTER PROC dbo.ASS_TRANSFER_MULTI_MASTER_BBBG
2
@TRANS_MULTI_MASTER_ID	varchar(15) = null
3
AS 
4
DECLARE @REQ_ID VARCHAR(20) = (SELECT REQ_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
5
DECLARE @REQ_MAKER VARCHAR(110) = (SELECT TRSD.MAKER_ID FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID)
6
DECLARE @REQ_MAKER_DT VARCHAR(110) = (SELECT TRSD.CREATE_DT FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID)
7
DECLARE @REQ_BRANCH VARCHAR(110) = (SELECT TRSD.BRANCH_ID FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID)
8
DECLARE @REQ_DEP VARCHAR(110) = (SELECT TRSD.DEP_ID FROM TR_REQUEST_SHOP_DOC TRSD WHERE TRSD.REQ_ID = @REQ_ID)
9
DECLARE @REQ_DEP_NAME NVARCHAR(510) = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @REQ_DEP)
10
DECLARE @REQ_POS NVARCHAR(510) = (SELECT CEL.POS_NAME FROM CM_EMPLOYEE_LOG CEL WHERE CEL.USER_DOMAIN = @REQ_MAKER)
11
DECLARE @REQ_MAKER_NAME NVARCHAR(500)      = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @REQ_MAKER)
12
DECLARE @REQ_MAKER_PHONE NVARCHAR(500)    = (SELECT TU.PHONE FROM TL_USER TU WHERE TU.TLNANME = @REQ_MAKER)
13
DECLARE @REQ_MAKER_ADDR NVARCHAR(500)    = (SELECT TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @REQ_MAKER)
14
--Khiemchg lấy danh sách đơn vị nhận và cho
15
            DECLARE @INFO_TRANSFER_RECIEVE TABLE
16
            (
17
            	BRN_SD VARCHAR(50),
18
            	BRN_SD_NAME NVARCHAR(500),
19
            	K_SD VARCHAR(50),
20
            	K_SD_NAME NVARCHAR(500),
21
            	TT_SD VARCHAR(50),
22
            	TT_SD_NAME NVARCHAR(500),
23
            	DEP_SD VARCHAR(50),
24
            	DEP_SD_NAME NVARCHAR(500),
25
            	PER_SD VARCHAR(50),
26
            	BRN_N VARCHAR(50),
27
            	BRN_N_NAME NVARCHAR(500),
28
            	K_N VARCHAR(50),
29
            	K_N_NAME NVARCHAR(500),
30
            	TT_N VARCHAR(50),
31
            	TT_N_NAME NVARCHAR(500),
32
            	DEP_N VARCHAR(50),
33
            	DEP_N_NAME NVARCHAR(500),
34
            	PER_N VARCHAR(50)
35
            )
36
            INSERT INTO @INFO_TRANSFER_RECIEVE 
37
            SELECT DISTINCT BRANCH_ID_OLD, 
38
                            BB.BRANCH_NAME,
39
                            KHOI_ID_OLD,
40
                            BD.DEP_NAME,
41
                            CENTER_ID_OLD,
42
                            BF.DEP_NAME,
43
                            DEPT_ID_OLD,
44
                            BE.DEP_NAME,
45
                            EMP_ID_OLD,
46
                            A.BRANCH_ID,
47
                            CB.BRANCH_NAME,
48
                            A.KHOI_ID,
49
                            CD.DEP_NAME,
50
                            CENTER_ID,
51
                            CF.DEP_NAME,
52
                            DEPT_ID,
53
                            CE.DEP_NAME,
54
                            EMP_ID
55
            FROM ASS_TRANSFER_MULTI_DT A
56
            LEFT JOIN CM_BRANCH BB ON A.BRANCH_ID_OLD = BB.BRANCH_ID
57
            LEFT JOIN CM_DEPARTMENT BD ON BD.DEP_ID = A.KHOI_ID_OLD
58
            LEFT JOIN CM_DEPARTMENT BE ON BE.DEP_ID = A.DEPT_ID_OLD
59
            LEFT JOIN CM_DEPARTMENT BF ON BF.DEP_ID = A.CENTER_ID_OLD
60

    
61
            LEFT JOIN CM_BRANCH CB ON A.BRANCH_ID = CB.BRANCH_ID
62
            LEFT JOIN CM_DEPARTMENT CD ON CD.DEP_ID = A.KHOI_ID
63
            LEFT JOIN CM_DEPARTMENT CE ON CE.DEP_ID = A.DEPT_ID
64
            LEFT JOIN CM_DEPARTMENT CF ON CF.DEP_ID = A.CENTER_ID
65
            WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID
66
            GROUP BY BRANCH_ID_OLD, 
67
                            BB.BRANCH_NAME,
68
                            KHOI_ID_OLD,
69
                            BD.DEP_NAME,
70
                            CENTER_ID_OLD,
71
                            BF.DEP_NAME,
72
                            DEPT_ID_OLD,
73
                            BE.DEP_NAME,
74
                            EMP_ID_OLD,
75
                            A.BRANCH_ID,
76
                            CB.BRANCH_NAME,
77
                            A.KHOI_ID,
78
                            CD.DEP_NAME,
79
                            CENTER_ID,
80
                            CF.DEP_NAME,
81
                            DEPT_ID,
82
                            CE.DEP_NAME,
83
                            EMP_ID
84
            --DELETE @INFO_TRANSFER_RECIEVE WHERE (BRN_SD = BRN_N AND DEP_SD = DEP_N)
85

    
86
DECLARE @SIGN_QLTS_NAME NVARCHAR(500) = ''
87
DECLARE @SIGN_QLTS_PHONE NVARCHAR(500) = ''
88
DECLARE @SIGN_QLTS_ADDR NVARCHAR(500) = ''
89
DECLARE @SIGN_QLTS_POS NVARCHAR(500) = ''
90
DECLARE @SIGN_QLTS NVARCHAR(100) = (SELECT ATMM.CHECKER_ID FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
91
DECLARE @SIGN_QLTS_DT DATETIME = (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PP.PROCESS_ID = 'QLTS_D' ORDER BY PP.APPROVE_DT DESC)
92
DECLARE @MAKER_ID NVARCHAR(100) = (SELECT ATMM.MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
93
DECLARE @MAKER_ID_DT DATETIME = (SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PP.PROCESS_ID = 'SEND' ORDER BY PP.APPROVE_DT DESC)
94
DECLARE @SIGN_QLTS_BR NVARCHAR(500) = (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = (SELECT TU.TLSUBBRID FROM TL_USER TU WHERE TU.TLNANME = @SIGN_QLTS))
95
DECLARE @SIGN_QLTS_DEP NVARCHAR(500) = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = (SELECT TU.SECUR_CODE FROM TL_USER TU WHERE TU.TLNANME = @SIGN_QLTS))
96
DECLARE @MAKER_NAME NVARCHAR(500) = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @MAKER_ID)
97
DECLARE @MAKER_POS NVARCHAR(500) = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@MAKER_ID)
98

    
99

    
100
IF(EXISTS (SELECT * FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS', 'DV0001', 'DEP000000000048') FGUBRV WHERE FGUBRV.TLNANME = @SIGN_QLTS))
101
BEGIN 
102
	SELECT @SIGN_QLTS_NAME = TU.TLFullName, @SIGN_QLTS_PHONE = TU.PHONE, @SIGN_QLTS_ADDR = TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @SIGN_QLTS
103
    SET @SIGN_QLTS_POS =  (SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN = @SIGN_QLTS)
104
END
105
-- Thông tin chữ kí
106
DECLARE @SIGN_CHECKER_ID_KT VARCHAR(100),@SIGN_MAKER_ID VARCHAR(100),@SIGN_APPROVE_DT_KT DATETIME,@SIGN_CREATE_DT DATETIME,@SIGN_APPROVE_ID VARCHAR(20),@SIGN_APPROVE_DT DATETIME,
107
		@SIGN_RECEVI_MAKER_ID VARCHAR(100),@SIGN_RECEVI_DT DATETIME,@SIGN_MAKER_ID_KT VARCHAR(100),@SIGN_MAKER_ID_CREATE VARCHAR(50),@AUTH_STATUS VARCHAR(50)
108

    
109
-- Thông tin bên giao
110
DECLARE @DEP_TRANSFER NVARCHAR(1500)       = (SELECT TOP 1 DEP_SD FROM @INFO_TRANSFER_RECIEVE)
111
DECLARE @BRANCH_TRANSFER NVARCHAR(500)  = (SELECT TOP 1 BRN_SD FROM @INFO_TRANSFER_RECIEVE)
112
DECLARE @KHOI_TRANSFER NVARCHAR(500)    = (SELECT TOP 1 K_SD FROM @INFO_TRANSFER_RECIEVE)
113
DECLARE	@TT_TRANSFER NVARCHAR(500)      = (SELECT TOP 1 TT_SD FROM @INFO_TRANSFER_RECIEVE)
114
DECLARE @POSITION NVARCHAR(500)         --= (SELECT * FROM @INFO_TRANSFER_RECIEVE)
115
DECLARE @TRANSFER_MAKER_ID VARCHAR(100)  = (SELECT TOP 1 PER_SD FROM @INFO_TRANSFER_RECIEVE)
116
DECLARE @CREATE_DT NVARCHAR(500)        = (SELECT FORMAT(ATMM.CREATE_DT, 'dd/MM/yyyy') FROM ASS_TRANSFER_MULTI_MASTER ATMM WHERE ATMM.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
117

    
118
DECLARE @TRANSFER_CONFIRM NVARCHAR(500) =  (SELECT TOP 1 PRP.CHECKER_ID FROM PL_REQUEST_PROCESS PRP 
119
                                            WHERE PRP.PROCESS_ID = 'XNGN' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID 
120
                                                AND PRP.BRANCH_ID = @BRANCH_TRANSFER AND ISNULL(PRP.DEP_ID,'') = ISNULL(@DEP_TRANSFER, ''))
121
DECLARE @TRANSFER_CONFIRM_DT DATETIME =  (SELECT TOP 1 PRP.APPROVE_DT FROM PL_PROCESS PRP 
122
                                            WHERE PRP.PROCESS_ID = 'CONFIRM' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PRP.CHECKER_ID = @TRANSFER_CONFIRM ORDER BY PRP.APPROVE_DT DESC)
123

    
124
DECLARE @NAME_TRANSFER NVARCHAR(500)    = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @TRANSFER_CONFIRM)
125
DECLARE @POS_TRANSFER NVARCHAR(500)    = (SELECT CEL.POS_NAME FROM CM_EMPLOYEE_LOG CEL WHERE CEL.USER_DOMAIN = @TRANSFER_CONFIRM)
126
DECLARE @PHONE_TRANSFER NVARCHAR(500)    = (SELECT TU.PHONE FROM TL_USER TU WHERE TU.TLNANME = @TRANSFER_CONFIRM)
127
DECLARE @ADDR_TRANSFER NVARCHAR(500)    = (SELECT TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @TRANSFER_CONFIRM)
128

    
129
-- Thông tin bên nhận
130
DECLARE @DEP_RECIVE NVARCHAR(1500)         = (SELECT TOP 1 DEP_N FROM @INFO_TRANSFER_RECIEVE)
131
DECLARE @BRANCH_RECIVE NVARCHAR(500)    = (SELECT TOP 1 BRN_N FROM @INFO_TRANSFER_RECIEVE)
132
DECLARE @KHOI_RECIVE NVARCHAR(500)      = (SELECT TOP 1 K_N FROM @INFO_TRANSFER_RECIEVE)
133
DECLARE @TT_RECIVE NVARCHAR(500)        = (SELECT TOP 1 TT_N FROM @INFO_TRANSFER_RECIEVE)
134
DECLARE @POSITION_RECIVE NVARCHAR(500)
135
DECLARE @RECIVE_MAKER_ID VARCHAR(100)    = (SELECT TOP 1 PER_N FROM @INFO_TRANSFER_RECIEVE)
136

    
137
DECLARE @RECEIVE_CONFIRM NVARCHAR(500) =  (SELECT TOP 1 PRP.CHECKER_ID FROM PL_REQUEST_PROCESS PRP 
138
                                            WHERE PRP.PROCESS_ID = 'XNGN' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID 
139
                                                AND PRP.BRANCH_ID = @BRANCH_RECIVE AND ISNULL(PRP.DEP_ID,'') = ISNULL(@DEP_RECIVE, ''))
140
DECLARE @RECEIVE_CONFIRM_DT DATETIME =  (SELECT TOP 1 PRP.APPROVE_DT FROM PL_PROCESS PRP 
141
                                            WHERE PRP.PROCESS_ID = 'CONFIRM' AND PRP.REQ_ID = @TRANS_MULTI_MASTER_ID AND PRP.CHECKER_ID = @RECEIVE_CONFIRM ORDER BY PRP.APPROVE_DT DESC)
142
DECLARE @NAME_RECIVE NVARCHAR(500)      = (SELECT TU.TLFullName FROM TL_USER TU WHERE TU.TLNANME = @RECEIVE_CONFIRM)
143
DECLARE @POS_RECIVE NVARCHAR(500)    = (SELECT CEL.POS_NAME FROM CM_EMPLOYEE_LOG CEL WHERE CEL.USER_DOMAIN = @RECEIVE_CONFIRM)
144
DECLARE @PHONE_RECIVE NVARCHAR(500)    = (SELECT TU.PHONE FROM TL_USER TU WHERE TU.TLNANME = @RECEIVE_CONFIRM)
145
DECLARE @ADDR_RECIVE NVARCHAR(500)    = (SELECT TU.ADDRESS FROM TL_USER TU WHERE TU.TLNANME = @RECEIVE_CONFIRM)
146

    
147
-- Thông tin Ngày điều chuyển
148
DECLARE @TRANSFER_DT DATETIME, @CREATE_DT_TRANSFER DATETIME
149
	SELECT  @TRANSFER_DT=TRANSFER_DT,@CREATE_DT_TRANSFER =CREATE_DT FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID
150

    
151
-- BÊN GIAO
152
	-- Thông tin chữ kí
153
	SET  @SIGN_MAKER_ID =  ( SELECT MAKER_ID_BG  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
154
	SET  @SIGN_CREATE_DT = ( SELECT CONFIRM_DT_BG  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
155
	SET @SIGN_APPROVE_ID = (SELECT CHECKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
156
	SET @SIGN_APPROVE_DT = (SELECT APPROVE_DT FROM ASS_TRANSFER_MULTI_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
157

    
158
	-- Thông tin bên giao
159
	--SET @BRANCH_TRANSFER = ISNULL((SELECT TOP 1 A.BRANCH_NAME FROM dbo.CM_BRANCH A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.BRANCH_ID = B.BRANCH_ID_OLD WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '')
160
	--	+ ISNULL((SELECT TOP 1 ' - ' + A.DEP_NAME FROM dbo.CM_DEPARTMENT A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.DEP_ID = B.DEPT_ID_OLD WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '')
161
	--SET @NAME_TRANSFER =(SELECT TLFullName FROM TL_USER WHERE TLNANME =@TRANSFER_MAKER_ID)
162
	SET @POSITION = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@TRANSFER_CONFIRM)
163
	SET @CREATE_DT = N'Ngày ' + CAST((SELECT DAY(APPROVE_DT_KT) FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) AS VARCHAR(500))
164
				+ N' tháng ' + CAST((SELECT MONTH(APPROVE_DT_KT) FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) AS VARCHAR(500))
165
				+ N' năm ' + CAST((SELECT YEAR(APPROVE_DT_KT) FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID) AS VARCHAR(500))
166
				+ N' tại ' + (SELECT B.BRANCH_NAME FROM dbo.ASS_TRANSFER_MULTI_MASTER A JOIN dbo.CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
167

    
168
-- BÊN NHẬN
169
	-- Thông tin chữ kí
170
	SET  @SIGN_RECEVI_MAKER_ID =  ( SELECT MAKER_ID_BN  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
171
	SET  @SIGN_RECEVI_DT =  ( SELECT CONFIRM_DT_BN  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
172
	-- Thông tin bên nhận
173
	SET @RECIVE_MAKER_ID = (SELECT TOP 1 MAKER_ID_BN FROM ASS_TRANSFER_CONFIRM_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
174
	--SET @BRANCH_RECIVE = ISNULL((SELECT TOP 1 A.BRANCH_NAME FROM dbo.CM_BRANCH A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.BRANCH_ID = B.BRANCH_ID WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '')
175
	--	+ ISNULL((SELECT TOP 1 ' - ' + A.DEP_NAME FROM dbo.CM_DEPARTMENT A JOIN dbo.ASS_TRANSFER_MULTI_DT B ON A.DEP_ID = B.DEPT_ID WHERE B.TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID ORDER BY B.TRANSFER_MULTI_ID ASC), '')
176
	--SET @DEP_RECIVE = (SELECT TOP 1 DEPT_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
177
	--SET @NAME_RECIVE=  (SELECT TLFullName FROM TL_USER WHERE TLNANME = @RECIVE_MAKER_ID)
178
	SET @POSITION_RECIVE =  (SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN = @RECEIVE_CONFIRM)
179
	--SET @KHOI_RECIVE= (SELECT TOP 1 DVDM_NAME FROM CM_DVDM WHERE DVDM_ID IN (SELECT DVDM_ID FROM PL_COSTCENTER WHERE COST_ID IN (SELECT COST_ID FROM PL_COSTCENTER_DT
180
	--	WHERE DEP_ID =@DEP_RECIVE)) AND IS_KHOI ='1')
181

    
182

    
183
-- KẾ TOÁN
184

    
185
SET  @SIGN_MAKER_ID_CREATE =  ( SELECT A.MAKER_ID  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
186
SET  @SIGN_CHECKER_ID_KT =  ( SELECT CHECKER_ID_KT  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
187
SET  @SIGN_APPROVE_DT_KT =  ( SELECT APPROVE_DT_KT  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
188
SET  @SIGN_MAKER_ID_KT	 =  ( SELECT A.MAKER_ID_KT  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
189

    
190
-- DANH SÁCH TÀI SẢN
191
SELECT	ROW_NUMBER()OVER(ORDER BY A.ASSET_ID) AS STT,
192
				A.ASSET_ID, A.[TYPE_ID],C.[TYPE_CODE],  C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME, A.ASSET_NAME, A.ASSET_DESC,
193
				A.SUP_ID, FORMAT(tmp.BUY_PRICE, '#,#') AS BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, TR.BRANCH_ID,BR_R.BRANCH_CODE,BR_R.BRANCH_NAME,H.DEP_ID, H.DEP_CODE,
194
				H.DEP_NAME, A.EMP_ID,EM_R.EMP_CODE,EM_R.EMP_NAME,
195
				A.BUY_DATE, A.USE_DATE, A.SPECIAL_ASS, CAST(A.AMORT_MONTH AS INT) AS AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE,
196
				A.FIRST_AMORT_AMT, 
197
				--CAST(A.AMORTIZED_MONTH AS INT) AS AMORTIZED_MONTH, 
198
				CAST((A.AMORT_MONTH - A.AMORTIZED_MONTH) AS INT) AS REMAIN_MONTH,
199
--				CASE WHEN DATEDIFF(month,A.AMORT_START_DATE,@TRANSFER_DT) > A.AMORT_MONTH THEN  CAST(A.AMORT_MONTH AS INT) ELSE CAST(DATEDIFF(month,A.AMORT_START_DATE,@TRANSFER_DT)AS INT) END AS AMORTIZED_MONTH,
200
				--CAST(DATEDIFF(month,A.AMORT_START_DATE,tmp2.AMORT_DT)AS INT)  AS AMORTIZED_MONTH,
201
        ISNULL(CAST(tmp2.AMORTIZED_MONTH AS INT),0) AS AMORTIZED_MONTH,
202
				A.AMORTIZED_AMT, 
203
				FORMAT(tmp.BUY_PRICE - ISNULL(tmp1.AMORTIZED_AMT,0) , '#,#') AS GT_CL,  --So tien khau hao con lai
204
				A.PO_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID,
205
				A.REF_AMORTIZED_AMT,
206
				A.WARRANTY_MONTHS, 				
207
				A.AMORT_STATUS, 
208
				D.STATUS_NAME AMORT_STATUS_NAME, 
209
				A.ASS_STATUS, CU.UNIT_NAME,
210
				E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san
211
				A.ASS_STATUS_DESC,
212
				A.RECORD_STATUS, 
213
				A.AUTH_STATUS, 
214
				ZZ.AUTH_STATUS_NAME,
215
				A.MAKER_ID, 
216
				convert(varchar, A.CREATE_DT, 103) as CREATE_DT_ASS,
217
				convert(varchar, TR.CREATE_DT, 103) as CREATE_DT, 
218
				A.CHECKER_ID, 
219
				A.APPROVE_DT,
220
				TR.[DESCRIPTION], TR.BRANCH_CREATE,TR.LOCATION,TR.[DESCRIPTION],TR.TRANSFER_MULTI_ID,
221
				A.AMORT_AMT-A.AMORTIZED_AMT ASREMAIN_AMT, convert(varchar, B.CREATE_DT, 103) as CREATE_DT_ASS, 
222
				1 AS SOLUONG,
223
				TR.DESCRIPTION AS NOTES,
224
				A.ASSET_CODE,
225
--                CASE
226
--                	WHEN A.REQ_CODE IS NOT NULL AND A.PL IS NOT NULL THEN A.REQ_CODE + '/' + A.PL 
227
--                	WHEN A.REQ_CODE IS NOT NULL AND A.PL IS NULL  THEN A.REQ_CODE
228
--                	WHEN A.REQ_CODE IS NULL AND A.PL IS NOT NULL  THEN A.PL ELSE NULL
229
--                END AS PYC_PL
230
                ATMM.REQ_CODE + ISNULL(CHAR(10) + CHAR(10) + A.PL,'') AS PYC_PL
231
		FROM [dbo].[ASS_TRANSFER_MULTI_DT] TR
232
        LEFT JOIN [ASS_TRANSFER_MULTI_MASTER] ATMM ON TR.TRANS_MULTI_MASTER_ID = ATMM.TRANS_MULTI_MASTER_ID
233
		LEFT JOIN ASS_MASTER A ON A.ASSET_ID = TR.ASSET_ID
234
		LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
235
		LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
236
        LEFT JOIN CM_UNIT CU ON B.UNIT = CU.UNIT_ID
237
		LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE
238
		LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID
239
		LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = TR.AUTH_STATUS
240
		LEFT JOIN CM_BRANCH BR_R ON BR_R.BRANCH_ID=TR.BRANCH_ID
241
		LEFT JOIN CM_EMPLOYEE EM_R ON EM_R.EMP_ID=TR.EMP_ID
242
		LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = TR.DEPT_ID
243
    --  PHONGNT 4/9/22 LẤY GIÁ TRỊ NGUYÊN GIÁ, KHẤU HAO TẠI THỜI ĐIỂM NGÀY ĐIỀU CHUYỂN
244
		LEFT JOIN (SELECT ASSET_ID,(SUM(CASE WHEN CRDR='C' AND TRN_DT < @TRANSFER_DT AND  ASSET_AMT IS NOT NULL   THEN ASSET_AMT END) - ISNULL(SUM(CASE WHEN CRDR='D' AND TRN_DT < @TRANSFER_DT AND  ASSET_AMT IS NOT NULL  THEN ASSET_AMT END),0)) AS BUY_PRICE FROM dbo.ASS_VALUES GROUP BY ASSET_ID) tmp ON A.ASSET_ID=tmp.ASSET_ID
245
		LEFT JOIN (SELECT ASSET_ID,(SUM(CASE WHEN CRDR='C' AND AMORT_DT < @TRANSFER_DT AND AMORT_AMT IS NOT NULL THEN AMORT_AMT END) - ISNULL(SUM(CASE WHEN CRDR='D' AND AMORT_DT < @TRANSFER_DT AND AMORT_AMT IS NOT NULL THEN AMORT_AMT END),0)) AS AMORTIZED_AMT FROM dbo.ASS_AMORT_DT GROUP BY ASSET_ID) tmp1 ON A.ASSET_ID=tmp1.ASSET_ID
246
--    LEFT JOIN (SELECT ASSET_ID,max(AMORT_DT) AS AMORT_DT FROM ASS_AMORT_DT WHERE CRDR ='C' AND AMORT_DT<@TRANSFER_DT GROUP BY ASSET_ID) tmp2  ON tmp2.ASSET_ID = A.ASSET_ID
247
    LEFT JOIN (SELECT ASSET_ID,COUNT(*) AS AMORTIZED_MONTH FROM ASS_AMORT_DT WHERE CRDR ='C' AND AMORT_DT<@TRANSFER_DT GROUP BY ASSET_ID) tmp2  ON tmp2.ASSET_ID = A.ASSET_ID
248
    --    END
249
WHERE 1=1 
250
AND TR.TRANS_MULTI_MASTER_ID= @TRANS_MULTI_MASTER_ID
251

    
252
IF(CONVERT(VARCHAR,@CREATE_DT_TRANSFER,103)<CONVERT(VARCHAR,@TRANSFER_DT,103))
253
BEGIN
254
    IF(@SIGN_APPROVE_DT_KT IS NOT NULL)
255
  BEGIN
256
  	SET @SIGN_APPROVE_DT = @TRANSFER_DT
257
  	SET @SIGN_APPROVE_DT_KT = @TRANSFER_DT
258
  	SET @SIGN_RECEVI_DT = @TRANSFER_DT
259
    SET @SIGN_CREATE_DT = @TRANSFER_DT
260
  END
261
END
262
SET @CREATE_DT = N'Ngày ' + CAST(DAY(@TRANSFER_DT) AS VARCHAR(500))
263
				+ N' tháng ' + CAST(MONTH(@TRANSFER_DT) AS VARCHAR(500))
264
				+ N' năm ' + CAST(YEAR(@TRANSFER_DT) AS VARCHAR(500))
265
				+ N' tại ' + (SELECT B.BRANCH_NAME FROM dbo.ASS_TRANSFER_MULTI_MASTER A JOIN dbo.CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
266
  
267
--CHECK XEM CÓ K/PB/TT ĐIỀU CHUYỂN không, không có thì lấy BRANCH
268
DECLARE @GIAO NVARCHAR(500)
269
IF(@KHOI_TRANSFER IS NOT NULL AND @DEP_TRANSFER IS NOT NULL AND @TT_TRANSFER IS NOT NULL)
270
BEGIN
271
	SET @GIAO = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @DEP_TRANSFER)
272
END
273
ELSE IF(@KHOI_TRANSFER IS NULL AND @DEP_TRANSFER IS NULL AND @TT_TRANSFER IS NULL)
274
BEGIN
275
	SET @GIAO = (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_TRANSFER)
276
END
277
ELSE IF(@KHOI_TRANSFER IS NULL AND @DEP_TRANSFER IS NULL AND @TT_TRANSFER IS NOT NULL)
278
BEGIN
279
	SET @GIAO = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @TT_TRANSFER) 
280
END
281
ELSE IF(@KHOI_TRANSFER IS NULL AND @DEP_TRANSFER IS NOT NULL AND @TT_TRANSFER IS NULL)
282
BEGIN
283
	SET @GIAO = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @DEP_TRANSFER) 
284
END
285
ELSE IF(@KHOI_TRANSFER IS NOT NULL AND @DEP_TRANSFER IS NULL AND @TT_TRANSFER IS NULL)
286
BEGIN
287
	SET @GIAO = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @KHOI_TRANSFER) 
288
END
289
-- THÔNG TIN BÊN GIAO Table1
290
--IF(@REQ_ID IS NOT NULL OR @REQ_ID <> '')
291
--BEGIN
292
--	SELECT 
293
--    IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @REQ_BRANCH) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @REQ_BRANCH) + ' - ' + ISNULL(@REQ_DEP_NAME,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @REQ_BRANCH)) 
294
--    AS KHOI_TRANSFER, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @REQ_BRANCH) AS BRANCH_TRANSFER, @REQ_MAKER_NAME AS NAME_TRANSFER, @REQ_MAKER_ADDR AS ADDR_TRANSFER, @REQ_MAKER_PHONE AS PHONE_TRANSFER, @REQ_POS AS POSITION_SEND, @CREATE_DT AS A1
295
--
296
--END
297
--ELSE
298
BEGIN
299
--    SELECT 
300
--    IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER) + ' - ' + ISNULL(@GIAO,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER)) 
301
--    AS KHOI_TRANSFER, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_TRANSFER) AS BRANCH_TRANSFER, @MAKER_NAME AS NAME_TRANSFER, @ADDR_TRANSFER AS ADDR_TRANSFER, @PHONE_TRANSFER AS PHONE_TRANSFER, @MAKER_POS AS POSITION_SEND, @CREATE_DT AS A1
302
      SELECT 
303
      IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER) + ' - ' + ISNULL(@GIAO,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_TRANSFER)) 
304
      AS KHOI_TRANSFER, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_TRANSFER) AS BRANCH_TRANSFER, @NAME_TRANSFER AS NAME_TRANSFER, @ADDR_TRANSFER AS ADDR_TRANSFER, @PHONE_TRANSFER AS PHONE_TRANSFER, @POS_TRANSFER AS POSITION_SEND, @CREATE_DT AS A1
305

    
306
END
307

    
308

    
309
--CHECK XEM CÓ K/PB/TT NHẬN không, không có thì lấy BRANCH
310
DECLARE @NHAN NVARCHAR(500)
311
IF(@KHOI_RECIVE IS NOT NULL AND @DEP_RECIVE IS NOT NULL AND @TT_RECIVE IS NOT NULL)
312
BEGIN
313
	SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @DEP_RECIVE) 
314
END
315
ELSE IF(@KHOI_RECIVE IS NULL AND @DEP_RECIVE IS NULL AND @TT_RECIVE IS NULL)
316
BEGIN
317
	SET @NHAN = (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_RECIVE) 
318
END
319
ELSE IF(@KHOI_RECIVE IS NULL AND @DEP_RECIVE IS NULL AND @TT_RECIVE IS NOT NULL)
320
BEGIN
321
	SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @TT_RECIVE)  
322
END
323
ELSE IF(@KHOI_RECIVE IS NULL AND @DEP_RECIVE IS NOT NULL AND @TT_RECIVE IS NULL)
324
BEGIN
325
	SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @DEP_RECIVE)  
326
END
327
ELSE IF(@KHOI_RECIVE IS NOT NULL AND @DEP_RECIVE IS NULL AND @TT_RECIVE IS NULL)
328
BEGIN
329
	SET @NHAN = (SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_ID = @KHOI_RECIVE)  
330
END
331
-- THÔNG TIN BÊN NHẬN Table2
332
SELECT IIF((SELECT CB.BRANCH_TYPE FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE) = 'HS', (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE) + ' - ' + ISNULL(@NHAN,''), (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE))
333
 AS KHOI_RECEIVE, (SELECT CD.BRANCH_NAME FROM CM_BRANCH CD WHERE CD.BRANCH_ID = @BRANCH_RECIVE) AS BRANCH_RECIVE, @NAME_RECIVE AS NAME_RECIVE, @ADDR_RECIVE AS ADDR_RECIVE, @PHONE_RECIVE AS PHONE_RECIVE, @POSITION_RECIVE AS POSTION_RECIVE
334

    
335
-- CHỮ KÍ
336
DECLARE @S1 NVARCHAR(500),@S2 NVARCHAR(500),@S3 NVARCHAR(500),@S4 NVARCHAR(500),@S5 NVARCHAR(500),@S6 NVARCHAR(500)
337

    
338
SET @S1 = (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_CREATE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'')
339
SET @S2 = N'Người duyệt'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_APPROVE_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'')
340
--PHONGNT bổ sung người nhập KT
341
SET @S3 =N'Người nhập'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID_KT) + CHAR(10) 
342
SET @S6 =N'Người duyệt'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_CHECKER_ID_KT) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_APPROVE_DT_KT,'dd/MM/yyyy,hh:mm:ss tt'),'')
343

    
344
SET @S4 =(SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_RECEVI_MAKER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_RECEVI_DT,'dd/MM/yyyy,hh:mm:ss tt'),'')
345
--PHONGNT bổ sung người nhập 
346
SET @S5 =N'Người nhập'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID_CREATE) + CHAR(10) ;
347

    
348
-- Table-3 Chữ ký
349
SELECT 
350
@NAME_TRANSFER AS S1,
351
ISNULL(@POS_TRANSFER, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(@TRANSFER_CONFIRM_DT, 'dd/MM/yyyy HH:mm:ss')  AS S1_POS,
352
@SIGN_QLTS_NAME AS S2,
353
ISNULL(@SIGN_QLTS_POS, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(@SIGN_QLTS_DT, 'dd/MM/yyyy HH:mm:ss') AS S2_POS,
354
--'' AS S2,
355
--'' AS S2_POS,
356
@NAME_RECIVE AS S3,@S4 AS S4,
357
ISNULL(@POS_RECIVE,'')  + CHAR(13) + N'Đã ký ngày ' + FORMAT(@RECEIVE_CONFIRM_DT, 'dd/MM/yyyy HH:mm:ss') AS S3_POS,
358
IIF(NOT EXISTS(SELECT 1 FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID=@TRANS_MULTI_MASTER_ID AND AUTH_STATUS ='E'),@S5,NULL) AS S5,
359
@S6 AS S6
360

    
361
-- TABLE4 thông tin trung gian *(nếu có)
362
SELECT @SIGN_QLTS_BR+ ' - ' + ISNULL(@SIGN_QLTS_DEP,'') AS KHOI_MID, @SIGN_QLTS_BR AS BRANCH_MID,
363
@SIGN_QLTS_NAME AS MID_NAME, @SIGN_QLTS_ADDR AS MID_ADDR, @SIGN_QLTS_PHONE AS MID_PHONE, @SIGN_QLTS_POS AS MID_POS
364
--SELECT '' AS MID_NAME, '' AS MID_ADDR, '' AS MID_PHONE, '' AS MID_POS
365

    
366
--TABLE 5 NỘI DUNG BIÊN BẢN
367
SELECT TRANSFER_CONTENT AS TITLE FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID
368

    
369
--TABLE 6 SỐ
370
SELECT @TRANS_MULTI_MASTER_ID AS NO
371
SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_RECIVE