Project

General

Profile

ASS_TRANSFER_MULTI_MASTER_BBBG.txt

Luc Tran Van, 09/06/2022 02:30 PM

 
1

    
2
ALTER PROC dbo.ASS_TRANSFER_MULTI_MASTER_BBBG
3
@TRANS_MULTI_MASTER_ID	varchar(15) = null
4
AS 
5
-- Thông tin chứ kí
6
DECLARE @SIGN_CHECKER_ID_KT VARCHAR(20),@SIGN_MAKER_ID VARCHAR(20),@SIGN_APPROVE_DT_KT DATETIME,@SIGN_CREATE_DT DATETIME,@SIGN_APPROVE_ID VARCHAR(20),@SIGN_APPROVE_DT DATETIME,
7
		@SIGN_RECEVI_MAKER_ID VARCHAR(50),@SIGN_RECEVI_DT DATETIME,@SIGN_MAKER_ID_KT VARCHAR(50),@SIGN_MAKER_ID_CREATE VARCHAR(50),@AUTH_STATUS VARCHAR(50)
8

    
9
-- Thông tin bên giao
10
DECLARE @DEP_TRANSFER VARCHAR(15),  @BRANCH_TRANSFER NVARCHAR(500),@NAME_TRANSFER NVARCHAR(500), @POSITION NVARCHAR(500),@KHOI_TRANSFER NVARCHAR(500),
11
		@TRANSFER_MAKER_ID VARCHAR(20), @CREATE_DT NVARCHAR(500)
12

    
13
-- Thông tin bên nhận
14

    
15
DECLARE @DEP_RECIVE VARCHAR(15),  @BRANCH_RECIVE NVARCHAR(500),@NAME_RECIVE NVARCHAR(500), @POSITION_RECIVE NVARCHAR(500),@KHOI_RECIVE NVARCHAR(500),
16
		@RECIVE_MAKER_ID VARCHAR(20)
17

    
18
-- Thông tin Ngày điều chuyển
19
DECLARE @TRANSFER_DT DATETIME
20
	SET @TRANSFER_DT = (SELECT TOP(1) TRANSFER_DT FROM dbo.ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
21

    
22
-- BÊN GIAO
23

    
24

    
25
	-- Thông tin chữ kí
26
	SET  @SIGN_MAKER_ID =  ( SELECT MAKER_ID_BG  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
27
	SET  @SIGN_CREATE_DT = ( SELECT CONFIRM_DT_BG  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
28
	SET @SIGN_APPROVE_ID = (SELECT CHECKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
29
	SET @SIGN_APPROVE_DT = (SELECT APPROVE_DT FROM ASS_TRANSFER_MULTI_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
30

    
31
	-- Thông tin bên giao
32
	SET @TRANSFER_MAKER_ID = (SELECT MAKER_ID_BG FROM ASS_TRANSFER_CONFIRM_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
33
	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), '')
34
		+ 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), '')
35
	SET @NAME_TRANSFER =(SELECT TLFullName FROM TL_USER WHERE TLNANME =@TRANSFER_MAKER_ID)
36
	SET @POSITION = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@TRANSFER_MAKER_ID)
37
	SET @DEP_TRANSFER =(SELECT TOP 1 SECUR_CODE FROM TL_USER WHERE TLNANME = @TRANSFER_MAKER_ID)
38
	SET @KHOI_TRANSFER= (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
39
		WHERE DEP_ID = @DEP_TRANSFER )) AND IS_KHOI ='1')
40
	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))
41
				+ 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))
42
				+ 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))
43
				+ 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)
44

    
45
-- BÊN NHẬN
46
	-- Thông tin chữ kí
47
	SET  @SIGN_RECEVI_MAKER_ID =  ( SELECT MAKER_ID_BN  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
48
	SET  @SIGN_RECEVI_DT =  ( SELECT CONFIRM_DT_BN  FROM ASS_TRANSFER_CONFIRM_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
49
	-- Thông tin bên nhận
50
	SET @RECIVE_MAKER_ID = (SELECT TOP 1 MAKER_ID_BN FROM ASS_TRANSFER_CONFIRM_MASTER WHERE  TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
51
	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), '')
52
		+ 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), '')
53
	SET @DEP_RECIVE = (SELECT TOP 1 DEPT_ID FROM ASS_TRANSFER_MULTI_DT WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
54
	SET @NAME_RECIVE=  (SELECT TLFullName FROM TL_USER WHERE TLNANME = @RECIVE_MAKER_ID)
55
	SET @POSITION_RECIVE =  (SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN = @RECIVE_MAKER_ID)
56
	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
57
		WHERE DEP_ID =@DEP_RECIVE)) AND IS_KHOI ='1')
58

    
59

    
60
-- KẾ TOÁN
61

    
62
SET  @SIGN_MAKER_ID_CREATE =  ( SELECT A.MAKER_ID  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
63
SET  @SIGN_CHECKER_ID_KT =  ( SELECT CHECKER_ID_KT  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
64
SET  @SIGN_APPROVE_DT_KT =  ( SELECT APPROVE_DT_KT  FROM ASS_TRANSFER_MULTI_MASTER A WHERE TRANS_MULTI_MASTER_ID = @TRANS_MULTI_MASTER_ID)
65
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)
66

    
67
-- DANH SÁCH TÀI SẢN
68
SELECT	ROW_NUMBER()OVER(ORDER BY A.ASSET_ID) AS STT,
69
				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,
70
				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,
71
				H.DEP_NAME, A.EMP_ID,EM_R.EMP_CODE,EM_R.EMP_NAME,
72
				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,
73
				A.FIRST_AMORT_AMT, 
74
				--CAST(A.AMORTIZED_MONTH AS INT), 
75
				--CAST((A.AMORT_MONTH - A.AMORTIZED_MONTH) AS INT) AS REMAIN_MONTH,
76
				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,
77
				A.AMORTIZED_AMT, 
78
				FORMAT(tmp.BUY_PRICE - ISNULL(tmp1.AMORTIZED_AMT,0) , '#,#') AS GT_CL,  --So tien khau hao con lai
79
				A.PO_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID,
80
				A.REF_AMORTIZED_AMT,
81
				A.WARRANTY_MONTHS, 				
82
				A.AMORT_STATUS, 
83
				D.STATUS_NAME AMORT_STATUS_NAME, 
84
				A.ASS_STATUS, 
85
				E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san
86
				A.ASS_STATUS_DESC,
87
				A.RECORD_STATUS, 
88
				A.AUTH_STATUS, 
89
				ZZ.AUTH_STATUS_NAME,
90
				A.MAKER_ID, 
91
				convert(varchar, A.CREATE_DT, 103) as CREATE_DT_ASS,
92
				convert(varchar, TR.CREATE_DT, 103) as CREATE_DT, 
93
				A.CHECKER_ID, 
94
				A.APPROVE_DT,
95
				TR.[DESCRIPTION], TR.BRANCH_CREATE,TR.LOCATION,TR.[DESCRIPTION],TR.TRANSFER_MULTI_ID,
96
				A.AMORT_AMT-A.AMORTIZED_AMT ASREMAIN_AMT, convert(varchar, B.CREATE_DT, 103) as CREATE_DT_ASS, 
97
				1 AS SOLUONG,
98
				TR.DESCRIPTION AS NOTES,
99
				CASE WHEN A.ASSET_SERIAL_NO IS NOT NULL AND A.ASSET_SERIAL_NO <> ''
100
					THEN (A.ASSET_SERIAL_NO+ CHAR(10) +'(' + A.ASSET_CODE + ')')
101
					ELSE (A.ASSET_CODE) END AS ASSET_CODE
102
		FROM [dbo].[ASS_TRANSFER_MULTI_DT] TR
103
		LEFT JOIN ASS_MASTER A ON A.ASSET_ID = TR.ASSET_ID
104
		LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
105
		LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
106
		LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE
107
		LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID
108
		LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = TR.AUTH_STATUS
109
		LEFT JOIN CM_BRANCH BR_R ON BR_R.BRANCH_ID=TR.BRANCH_ID
110
		LEFT JOIN CM_EMPLOYEE EM_R ON EM_R.EMP_ID=TR.EMP_ID
111
		LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = TR.DEPT_ID
112
    --  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
113
		LEFT JOIN (SELECT ASSET_ID,(SUM(CASE WHEN CRDR='C'  THEN ASSET_AMT END) - ISNULL(SUM(CASE WHEN CRDR='D' THEN ASSET_AMT END),0)) AS BUY_PRICE FROM dbo.ASS_VALUES WHERE TRN_DT < @TRANSFER_DT AND  ASSET_AMT IS NOT NULL GROUP BY ASSET_ID) tmp ON A.ASSET_ID=tmp.ASSET_ID
114
		LEFT JOIN (SELECT ASSET_ID,(SUM(CASE WHEN CRDR='C'  THEN AMORT_AMT END) - ISNULL(SUM(CASE WHEN CRDR='D' THEN AMORT_AMT END),0)) AS AMORTIZED_AMT FROM dbo.ASS_AMORT_DT WHERE AMORT_DT < @TRANSFER_DT AND AMORT_AMT IS NOT NULL GROUP BY ASSET_ID) tmp1 ON A.ASSET_ID=tmp1.ASSET_ID
115
    --    END
116
WHERE 1=1 
117
AND TR.TRANS_MULTI_MASTER_ID= @TRANS_MULTI_MASTER_ID
118

    
119
-- THÔNG TIN BÊN GIAO
120
SELECT ISNULL(@KHOI_TRANSFER,@BRANCH_TRANSFER) AS KHOI_TRANSFER, @BRANCH_TRANSFER AS BRANCH_TRANSFER, @NAME_TRANSFER AS NAME_TRANSFER, @POSITION AS POSITION_SEND, @CREATE_DT AS A1
121

    
122
-- THÔNG TIN BÊN NHẬN
123
SELECT IIF(@NAME_RECIVE IS NOT NULL,ISNULL(@KHOI_RECIVE,@BRANCH_RECIVE),NULL) AS KHOI_RECIVE, IIF(@NAME_RECIVE IS NOT NULL,@BRANCH_RECIVE,NULL) AS BRANCH_RECIVE, @NAME_RECIVE AS NAME_RECIVE, @POSITION_RECIVE AS POSTION_RECIVE
124

    
125
-- CHỮ KÍ
126
DECLARE @S1 NVARCHAR(500),@S2 NVARCHAR(500),@S3 NVARCHAR(500),@S4 NVARCHAR(500),@S5 NVARCHAR(500),@S6 NVARCHAR(500)
127

    
128
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'),'')
129
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'),'')
130
--PHONGNT bổ sung người nhập KT
131
SET @S3 =N'Người nhập'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID_KT) + CHAR(10) 
132
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'),'')
133

    
134
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'),'')
135
--PHONGNT bổ sung người nhập 
136
SET @S5 =N'Người nhập'+ CHAR(10) + (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_MAKER_ID_CREATE) + CHAR(10) ;
137

    
138
SELECT @S1 AS S1,
139
@S2 AS S2,
140
@S3 AS S3,@S4 AS S4,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,@S6 AS S6
141
GO