Project

General

Profile

GEN_GIAODICH_DIEUCHUYEN.txt

Luc Tran Van, 03/31/2023 08:36 AM

 
1
DECLARE @BRANCH_CODE VARCHAR(20) = '',
2
        @DEP_CODE VARCHAR(20) = ''
3

    
4
DECLARE cur CURSOR FOR
5

    
6
SELECT  A.BRANCH_CODE, 
7
        ISNULL(B.DEP_CODE,'') 
8
FROM 
9
(SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS row_num,VALUE AS BRANCH_CODE FROM STRING_SPLIT('1800,1400,1400,0719,0731,2200,2200,0900,0900,0900,1902,0717,2600,2600,2600,2500,2500,0903,0902,0901,0703,0700,2300,2300,3000,0726,0726,1801,2000,0500',',')) AS A
10
LEFT JOIN (
11
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS row_num,VALUE AS DEP_CODE FROM STRING_SPLIT(',,,,,,,,,,,,,,,,,,,,,,,,,,,,,05P24',',')) AS B ON A.row_num = B.row_num
12

    
13

    
14
OPEN cur
15

    
16
FETCH NEXT FROM cur INTO @BRANCH_CODE,@DEP_CODE
17

    
18
WHILE @@FETCH_STATUS = 0 BEGIN
19

    
20
DECLARE @ASSET_CODE VARCHAR(20) = (SELECT TOP 1 AM.ASSET_CODE FROM ASS_MASTER AM WHERE AM.CURRENT_TRANS IS NULL AND AM.DEPT_ID = 'DEP000000000048')
21

    
22
DECLARE 
23
@p_BRANCH_ID	VARCHAR(20),
24
@p_TRANSFER_DT	VARCHAR(20) = '31/03/2023',
25
@p_USER_TRANSFER	varchar(200)  = 'nghianh',
26
@p_NOTES	nvarchar(1000),
27
@p_RECORD_STATUS	varchar(1)  = '1',
28
@p_AUTH_STATUS	varchar(1)  = 'E',
29
@p_MAKER_ID	varchar(200)  = 'nghianh',
30
@p_CREATE_DT	VARCHAR(20) = '31/03/2023',
31
@p_APPROVE_DT	VARCHAR(20) = '31/03/2023',
32
@p_CHECKER_ID	varchar(100)  = NULL,
33
@p_AUTH_STATUS_KT	varchar(15)  = NULL,
34
@p_CREATE_DT_KT	varchar(100) = NULL,
35
@p_APPROVE_DT_KT	VARCHAR(20) = NULL,
36
@p_MAKER_ID_KT	varchar(100)  = NULL,
37
@p_CHECKER_ID_KT	varchar(100)  = NULL,
38
@p_BRANCH_CREATE varchar(15)  = 'DV0001',
39
@p_TRANSFER_CONTENT NVARCHAR(MAX) = N'Bàn giao tài sản điều chuyển cho chi nhánh'
40

    
41
DECLARE 
42
		@ASSET_ID	varchar(15),
43
		@KHOI_ID	    varchar(15),
44
		@CENTER_ID	varchar(15),
45
		@DEPT_ID	varchar(15),
46
		@EMP_ID	    varchar(15),
47
	    @LOCATION	varchar(500),
48
		@DESCRIPTION	nvarchar(1000),
49
		@BRANCH_ID_OLD	varchar(15),
50
		@KHOI_ID_OLD	varchar(15),
51
		@CENTER_ID_OLD	varchar(15),
52
		@DEPT_ID_OLD	varchar(15),
53
		@EMP_ID_OLD	varchar(15),
54
		@REMAIN_VALUE	DECIMAL(18,0),
55
		@BUY_PRICE	DECIMAL(18,0),
56
		@DEPT_CREATE VARCHAR(15)
57

    
58
IF(@DEP_CODE <> '')
59
BEGIN
60
	SELECT
61
       @KHOI_ID = (CASE WHEN DP.TYPE = 'K' THEN DP.DEP_ID ELSE K.DEP_ID END),
62
       @CENTER_ID = (CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_ID ELSE TT.DEP_ID END),
63
       @DEPT_ID  = (CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_ID ELSE NULL END)
64
    FROM CM_DEPARTMENT DP
65
    LEFT JOIN CM_DEPARTMENT TT ON TT.DEP_ID = DP.FATHER_ID
66
    LEFT JOIN CM_DEPARTMENT K ON K.DEP_ID = DP.KHOI_ID
67
    WHERE DP.DEP_CODE = @DEP_CODE
68
END
69

    
70
SET @p_BRANCH_ID = (SELECT CB.BRANCH_ID FROM CM_BRANCH CB WHERE CB.BRANCH_CODE = @BRANCH_CODE)
71

    
72
SELECT @ASSET_ID	= AM.ASSET_ID,
73
	   @BRANCH_ID_OLD	= AM.BRANCH_ID,
74
       @KHOI_ID_OLD = CASE WHEN DP.TYPE = 'K' THEN DP.DEP_ID ELSE K.DEP_ID END,
75
       @CENTER_ID_OLD = CASE WHEN DP.TYPE = 'TT' THEN DP.DEP_ID ELSE TT.DEP_ID END,
76
       @DEPT_ID_OLD  = CASE WHEN DP.TYPE = 'PB' THEN DP.DEP_ID ELSE NULL END,
77
	   @EMP_ID_OLD	= AM.EMP_ID,
78
	   @LOCATION	= AM.LOCATION,
79
	   @DESCRIPTION	= AM.ASSET_DESC,
80
	   @REMAIN_VALUE	= (ISNULL(AM.AMORT_AMT,0) - ISNULL(AM.AMORTIZED_AMT,0)),
81
       @BUY_PRICE = AM.BUY_PRICE
82
FROM ASS_MASTER AM 
83
LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = AM.DEPT_ID
84
LEFT JOIN CM_DEPARTMENT TT ON TT.DEP_ID = DP.FATHER_ID
85
LEFT JOIN CM_DEPARTMENT K ON K.DEP_ID = DP.KHOI_ID
86
WHERE AM.ASSET_CODE = @ASSET_CODE AND (AM.CURRENT_TRANS IS NULL OR AM.CURRENT_TRANS = '')
87

    
88
IF(@DEP_CODE <> '') SET @p_NOTES = N'Điều chuyển tài sản ' +@ASSET_CODE+ N' từ ' 
89
        + ISNULL((SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID_OLD),'')
90
        + ' - ' +  ISNULL((SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_CODE = @DEPT_ID_OLD),'')
91
        + N' sang chi nhánh ' 
92
        + (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @p_BRANCH_ID)
93
        + ' - ' +  ISNULL((SELECT CD.DEP_NAME FROM CM_DEPARTMENT CD WHERE CD.DEP_CODE = @DEP_CODE),'')
94

    
95
IF(@DEP_CODE = '') SET @p_NOTES = N'Điều chuyển tài sản ' +@ASSET_CODE+ N' từ ' 
96
        + ISNULL((SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @BRANCH_ID_OLD),'')
97
        + N' sang chi nhánh ' 
98
        + (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB WHERE CB.BRANCH_ID = @p_BRANCH_ID)
99

    
100
SET @DEPT_CREATE = (SELECT SECUR_CODE FROM dbo.TL_USER WHERE TLNANME = @p_MAKER_ID)
101

    
102
DECLARE @l_TRANS_MULTI_MASTER_ID VARCHAR(15)
103
		EXEC SYS_CodeMasters_Gen 'ASS_TRANSFER_MULTI_MASTER', @l_TRANS_MULTI_MASTER_ID out
104

    
105
		INSERT INTO ASS_TRANSFER_MULTI_MASTER([TRANS_MULTI_MASTER_ID],[BRANCH_ID],[TRANSFER_DT],[USER_TRANSFER],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT],[REPORT_STATUS],[DEPT_CREATE], TRANSFER_CONTENT, STATUS)
106
		VALUES(@l_TRANS_MULTI_MASTER_ID ,@p_BRANCH_CREATE ,CONVERT(DATETIME, @p_TRANSFER_DT, 103) ,@p_USER_TRANSFER ,@p_NOTES ,@p_RECORD_STATUS ,@p_AUTH_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103) ,'N',@DEPT_CREATE, @p_TRANSFER_CONTENT, 'ADDNEW')
107

    
108

    
109

    
110
DECLARE @l_TRANSFER_MULTI_ID VARCHAR(15)
111
				EXEC SYS_CodeMasters_Gen 'ASS_TRANSFER_MULTI_DT', @l_TRANSFER_MULTI_ID out
112

    
113
				INSERT INTO ASS_TRANSFER_MULTI_DT(
114
                        [TRANSFER_MULTI_ID],
115
                        [TRANS_MULTI_MASTER_ID],
116
                        [ASSET_ID],
117
                        [BRANCH_ID],
118
                        [KHOI_ID], 
119
                        [CENTER_ID],
120
                        [DEPT_ID],
121
                        [EMP_ID],
122
                        [BRANCH_ID_OLD],
123
                        [KHOI_ID_OLD], 
124
                        [CENTER_ID_OLD],
125
                        [DEPT_ID_OLD],
126
                        [EMP_ID_OLD], 
127
                        [USE_START_DT],
128
                        [DESCRIPTION],
129
                        [LOCATION],
130
                        [RECORD_STATUS],
131
                        [AUTH_STATUS],
132
                        [MAKER_ID],
133
                        [CREATE_DT],
134
                        [CHECKER_ID],
135
                        [APPROVE_DT],
136
                        [BRANCH_CREATE],
137
                        [REPORT_STATUS], 
138
                        REMAIN_VALUE, BUY_PRICE
139
                        )
140
				VALUES(
141
                        @l_TRANSFER_MULTI_ID,
142
                        @l_TRANS_MULTI_MASTER_ID,
143
                        @ASSET_ID,
144
                        @p_BRANCH_ID,
145
                        @KHOI_ID,
146
                        @CENTER_ID,
147
                        @DEPT_ID,
148
                        @EMP_ID,
149
				        @BRANCH_ID_OLD,
150
                        @KHOI_ID_OLD,
151
                        @CENTER_ID_OLD,
152
                        @DEPT_ID_OLD, 
153
                        @EMP_ID_OLD, 
154
                        CONVERT(DATETIME, @p_TRANSFER_DT, 103),
155
                        @DESCRIPTION,
156
                        @LOCATION,
157
                        @p_RECORD_STATUS,
158
                        @p_AUTH_STATUS,
159
                        @p_MAKER_ID,
160
                        CONVERT(DATETIME, @p_CREATE_DT, 103),
161
                        @p_CHECKER_ID,
162
                        CONVERT(DATETIME, @p_APPROVE_DT, 103),
163
                        @p_BRANCH_CREATE ,
164
                        'N',
165
                        @REMAIN_VALUE, @BUY_PRICE
166
                        )
167

    
168

    
169
        INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID)
170
		 VALUES(@l_TRANS_MULTI_MASTER_ID,'ADDNEW','C','QLTS','DV0001','',@DEPT_CREATE)
171
        INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID, DEP_ID)
172
		 VALUES(@l_TRANS_MULTI_MASTER_ID,'QLTS_D','U','KSV_QLTS','DV0001','ADDNEW',@DEPT_CREATE)
173

    
174

    
175
EXEC ASS_TRANSFER_MULTI_Master_SendAppr @p_TRANSFER_MULTI_ID = @l_TRANS_MULTI_MASTER_ID
176
                                       ,@p_TYPE_APP = N'S_TDV'
177
                                       ,@p_USER_LOGIN = 'nghianh'
178
                                       ,@p_DESC = N''
179

    
180

    
181
EXEC ASS_TRANSFER_MULTI_MASTER_App @p_TRANS_MULTI_MASTER_ID = @l_TRANS_MULTI_MASTER_ID
182
                                  ,@p_AUTH_STATUS = 'A'
183
                                  ,@p_CHECKER_ID = 'bichnn'
184
                                  ,@p_DESC = N'Chấp thuận'
185
                                  ,@p_APPROVE_DT = '31/03/2023'
186

    
187
EXEC ASS_TRANSFER_MULTI_Master_SendAppr @p_TRANSFER_MULTI_ID = @l_TRANS_MULTI_MASTER_ID
188
                                       ,@p_TYPE_APP = N'CONFIRM'
189
                                       ,@p_USER_LOGIN = 'bichnn'
190
                                       ,@p_DESC = N''
191

    
192

    
193
	FETCH NEXT FROM cur INTO @BRANCH_CODE,@DEP_CODE
194

    
195
END
196

    
197
CLOSE cur
198
DEALLOCATE cur