Project

General

Profile

ASS_USE_MULTI_BVB_MASTER_BBBG_v2.txt

Luc Tran Van, 11/21/2022 11:26 AM

 
1

    
2
ALTER   PROC dbo.ASS_USE_MULTI_BVB_MASTER_BBBG
3
@p_USER_MASTER_ID VARCHAR(15)
4
AS
5
	
6
	-- Thông tin chứ kí
7
	DECLARE @SIGN_CHECKER_ID_KT VARCHAR(20),@SIGN_HANDOVER_ID VARCHAR(20),@SIGN_APPROVE_DT_KT DATETIME,@SIGN_HANDOVER_DT DATETIME,
8
	@SIGN_RECEVER_ID VARCHAR(50),@SIGN_RECEVER_DT DATETIME, @SIGN_CHECKER_ID VARCHAR(20), @SIGN_APPROVE_DT DATETIME,@SIGN_MAKER_ID VARCHAR(20),@SIGN_MAKER_ID_KT VARCHAR(20),@SIGN_CREATE_ID_KT VARCHAR(20)
9

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

    
14
	-- Thông tin bên nhận
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 xuất sử dụng 
19
  DECLARE @USE_EXPORT_DT DATETIME, @USE_CREATE_DT DATETIME
20
	SELECT @USE_EXPORT_DT=USE_EXPORT_DT,@USE_CREATE_DT =CREATE_DT FROM dbo.ASS_USE_MULTI_MASTER WHERE  USER_MASTER_ID = @p_USER_MASTER_ID
21
	
22
	-- BÊN GIAO
23
		-- Thông tin chữ ký
24
		SET @SIGN_HANDOVER_ID = (SELECT A.MAKER_ID FROM dbo.ASS_USE_MULTI_MASTER A WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID)
25
		SET @SIGN_HANDOVER_DT =	(SELECT A.CREATE_DT  FROM ASS_USE_MULTI_MASTER A WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID)
26

    
27
		-- Thông tin bên giao
28
		SET @TRANSFER_MAKER_ID = (SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
29
		SET @BRANCH_TRANSFER = ISNULL((SELECT TOP 1 A.BRANCH_NAME FROM dbo.CM_BRANCH A JOIN dbo.TL_USER B ON A.BRANCH_ID = B.TLSUBBRID WHERE B.TLNANME = @TRANSFER_MAKER_ID), '')
30
			+ ISNULL((SELECT TOP 1 ' - ' + A.DEP_NAME FROM dbo.CM_DEPARTMENT A JOIN dbo.TL_USER B ON A.DEP_ID = B.SECUR_CODE WHERE B.TLNANME = @TRANSFER_MAKER_ID), '')
31
		SET @NAME_TRANSFER =(SELECT TLFullName FROM TL_USER WHERE TLNANME =@TRANSFER_MAKER_ID)
32
		SET @POSITION = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@TRANSFER_MAKER_ID)
33
		SET @DEP_TRANSFER =(SELECT TOP 1 SECUR_CODE FROM TL_USER WHERE TLNANME = @TRANSFER_MAKER_ID)
34
		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
35
			WHERE DEP_ID = @DEP_TRANSFER )) AND IS_KHOI ='1')
36

    
37
		SET @CREATE_DT = N'Ngày ' + CAST((SELECT DAY(APPROVE_DT_KT) FROM dbo.ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) AS VARCHAR(500))
38
					+ N' tháng ' + CAST((SELECT MONTH(APPROVE_DT_KT) FROM dbo.ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) AS VARCHAR(500))
39
					+ N' năm ' + CAST((SELECT YEAR(APPROVE_DT_KT) FROM dbo.ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) AS VARCHAR(500))
40
					+ N' tại ' + (SELECT B.BRANCH_NAME FROM dbo.ASS_USE_MULTI_MASTER A JOIN dbo.CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
41

    
42
	-- BÊN NHẬN
43
		-- Thông tin chữ ký
44
		SET @SIGN_RECEVER_ID = (SELECT A.MAKER_ID FROM dbo.ASS_USE_CONFIRM_MASTER A WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID)
45
		SET @SIGN_RECEVER_DT =	(SELECT A.CONFIRM_DT  FROM ASS_USE_CONFIRM_MASTER A WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID)
46

    
47
		-- Thông tin bên nhận
48
		SET @RECIVE_MAKER_ID = (SELECT A.MAKER_ID FROM dbo.ASS_USE_CONFIRM_MASTER A WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID)
49
		SET @BRANCH_RECIVE = ISNULL((SELECT TOP 1 A.BRANCH_NAME FROM dbo.CM_BRANCH A JOIN dbo.TL_USER B ON A.BRANCH_ID = B.TLSUBBRID WHERE B.TLNANME = @RECIVE_MAKER_ID), '')
50
			+ ISNULL((SELECT TOP 1 ' - ' + A.DEP_NAME FROM dbo.CM_DEPARTMENT A JOIN dbo.TL_USER B ON A.DEP_ID = B.SECUR_CODE WHERE B.TLNANME = @RECIVE_MAKER_ID), '')
51
		SET @NAME_RECIVE =(SELECT TLFullName FROM TL_USER WHERE TLNANME =@RECIVE_MAKER_ID)
52
		SET @POSITION_RECIVE = (SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@RECIVE_MAKER_ID)
53
		SET @DEP_RECIVE =(SELECT TOP 1 SECUR_CODE FROM TL_USER WHERE TLNANME = @RECIVE_MAKER_ID)
54
		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
55
			WHERE DEP_ID = @DEP_RECIVE )) AND IS_KHOI ='1')
56

    
57
	-- KẾ TOÁN
58
		SET  @SIGN_CHECKER_ID_KT =  ( SELECT CHECKER_ID_KT  FROM ASS_USE_MULTI_MASTER A WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
59
		SET  @SIGN_APPROVE_DT_KT =  ( SELECT APPROVE_DT_KT  FROM ASS_USE_MULTI_MASTER A WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
60
		SET @SIGN_CHECKER_ID = (SELECT CHECKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
61
		SET @SIGN_APPROVE_DT = (SELECT APPROVE_DT FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
62
		SET  @SIGN_CREATE_ID_KT =  ( SELECT A.MAKER_ID_KT  FROM ASS_USE_MULTI_MASTER A WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
63

    
64
	-- Danh sách biên bản bàn giao
65
	SELECT Row_number() over(order by B.ASSET_CODE) AS STT, B.ASSET_NAME, FORMAT(B.BUY_PRICE, '#,#') AS BUY_PRICE, CAST(B.AMORT_MONTH AS INT) AS AMORT_MONTH, 
66
	CAST(B.AMORTIZED_MONTH AS INT) AS AMORTIZED_MONTH, B.AMORT_AMT, B.AMORTIZED_AMT, FORMAT(AMORT_AMT - B.AMORTIZED_AMT, '#,#') AS GT_CL,'' UNITNAME,1 AS SOLUONG ,
67
	A.NOTES AS NOTES,
68
	CASE WHEN B.ASSET_SERIAL_NO IS NOT NULL AND B.ASSET_SERIAL_NO <> ''
69
		THEN  B.ASSET_SERIAL_NO+CHAR(10)+'(' + B.ASSET_CODE + ')'
70
		ELSE (B.ASSET_CODE) END AS ASSET_CODE
71
	FROM dbo.ASS_USE_MULTI_DT A
72
	INNER JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
73
	WHERE A.USER_MASTER_ID = @p_USER_MASTER_ID
74
  
75
	--PHONGNT 08/09/22 LUI NGAY TREN BB
76
	IF(CONVERT(VARCHAR,@USE_EXPORT_DT,103)<CONVERT(VARCHAR,@USE_CREATE_DT,103))
77
	BEGIN
78
		SET @CREATE_DT = N'Ngày ' + CAST((SELECT DAY(USE_EXPORT_DT) FROM dbo.ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) AS VARCHAR(500))
79
					+ N' tháng ' + CAST((SELECT MONTH(USE_EXPORT_DT) FROM dbo.ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) AS VARCHAR(500))
80
					+ N' năm ' + CAST((SELECT YEAR(USE_EXPORT_DT) FROM dbo.ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @p_USER_MASTER_ID) AS VARCHAR(500))
81
					+ N' tại ' + (SELECT B.BRANCH_NAME FROM dbo.ASS_USE_MULTI_MASTER A JOIN dbo.CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID WHERE USER_MASTER_ID = @p_USER_MASTER_ID)
82
    IF(@SIGN_APPROVE_DT_KT IS NOT NULL)
83
    BEGIN
84
  		SET @SIGN_HANDOVER_DT = @USE_EXPORT_DT
85
  		SET @SIGN_APPROVE_DT_KT = @USE_EXPORT_DT
86
  		SET @SIGN_RECEVER_DT = @USE_EXPORT_DT
87
  		SET @SIGN_APPROVE_DT = @USE_EXPORT_DT
88
    END
89
	END
90

    
91
	-- BAT DAU SELECT Lấy thông tin bên giao
92
	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
93

    
94
	-- BAT DAU SELECT Lấy thông tin bên nhận
95
	SELECT ISNULL(@KHOI_RECIVE,@BRANCH_RECIVE) AS KHOI_RECIVE, @BRANCH_RECIVE AS BRANCH_RECIVE, @NAME_RECIVE AS NAME_RECIVE, @POSITION_RECIVE AS POSTION_RECIVE
96

    
97
	-- CHỮ KÍ
98
	DECLARE @S1 NVARCHAR(500),@S2 NVARCHAR(500),@S3 NVARCHAR(500),@S4 NVARCHAR(500),@S5 NVARCHAR(500)
99

    
100
		-- Bên giao
101
		SET @S1 = (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_HANDOVER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_HANDOVER_DT,'dd/MM/yyyy,hh:mm:ss tt'),'')
102
		-- Kế toán GDV
103
		SET @S3 = N'Người nhập'+CHAR(10)+(SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_CREATE_ID_KT) + CHAR(10)
104
		-- Kế toán KSV
105
		SET @S5 =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'),'')
106
		-- Bên nhân
107
		SET @S4 = (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_RECEVER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_RECEVER_DT,'dd/MM/yyyy,hh:mm:ss tt'),'')
108
		-- QLTS
109
		SET @S2 = (SELECT TLFullName FROM TL_USER WHERE TLNANME = @SIGN_CHECKER_ID) + CHAR(10) + N' Đã xác nhận vào lúc ' + ISNULL(FORMAT(@SIGN_APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'')
110
		
111
	SELECT IIF(NOT EXISTS(SELECT 1 FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID=@p_USER_MASTER_ID AND AUTH_STATUS ='E'),@S1,NULL) AS S1, @S2 AS S2, @S3 AS S3, @S4 AS S4, @S5 AS S5