Project

General

Profile

COMPARE_UAT_1.txt

Luc Tran Van, 05/10/2023 04:15 PM

 
1

    
2
ALTER TABLE [dbo].[CM_BRANCH] ADD
3
[ESTABLISH_DT] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
4
GO
5
IF @@ERROR <> 0 SET NOEXEC ON
6
GO
7
PRINT N'Altering [dbo].[ASS_MASTER]'
8
GO
9
IF @@ERROR <> 0 SET NOEXEC ON
10
GO
11
ALTER TABLE [dbo].[ASS_MASTER] ALTER COLUMN [PL] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
12
GO
13
IF @@ERROR <> 0 SET NOEXEC ON
14
GO
15
PRINT N'Altering [dbo].[ASS_MASTER_HIS_TOOL]'
16
GO
17
IF @@ERROR <> 0 SET NOEXEC ON
18
GO
19
ALTER TABLE [dbo].[ASS_MASTER_HIS_TOOL] ALTER COLUMN [PL] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
20
GO
21
IF @@ERROR <> 0 SET NOEXEC ON
22
GO
23
PRINT N'Altering [dbo].[ASS_ADDNEW]'
24
GO
25
IF @@ERROR <> 0 SET NOEXEC ON
26
GO
27
ALTER TABLE [dbo].[ASS_ADDNEW] ALTER COLUMN [PL_CODE] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
28
GO
29
IF @@ERROR <> 0 SET NOEXEC ON
30
GO
31
PRINT N'Altering [dbo].[BUD_CONTRACT_DT]'
32
GO
33
IF @@ERROR <> 0 SET NOEXEC ON
34
GO
35
ALTER TABLE [dbo].[BUD_CONTRACT_DT] ADD
36
[STATUS] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
37
GO
38
IF @@ERROR <> 0 SET NOEXEC ON
39
GO
40
PRINT N'Altering [dbo].[ASS_COLLECT_MULTI_DT]'
41
GO
42
IF @@ERROR <> 0 SET NOEXEC ON
43
GO
44
ALTER TABLE [dbo].[ASS_COLLECT_MULTI_DT] ADD
45
[EMP_ID_USE] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
46
GO
47
IF @@ERROR <> 0 SET NOEXEC ON
48
GO
49
PRINT N'Altering [dbo].[ASS_MASTER_HIST]'
50
GO
51
IF @@ERROR <> 0 SET NOEXEC ON
52
GO
53
ALTER TABLE [dbo].[ASS_MASTER_HIST] ALTER COLUMN [PL] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
54
GO
55
IF @@ERROR <> 0 SET NOEXEC ON
56
GO
57
PRINT N'Creating [dbo].[ASS_AMORT_DT_LATEST]'
58
GO
59
CREATE TABLE [dbo].[ASS_AMORT_DT_LATEST]
60
(
61
[AMORTDT_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
62
[AMORT_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
63
[AMORT_DT] [date] NULL,
64
[CRDR] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
65
[BRANCH_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
66
[DEP_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
67
[ASSET_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
68
[AMORT_AMT] [decimal] (18, 0) NULL,
69
[GROUP_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
70
[EXECUTED] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
71
[TRN_TYPE] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
72
[TRN_DESC] [nvarchar] (1000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
73
[TYPE_ID] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
74
)
75
GO
76
IF @@ERROR <> 0 SET NOEXEC ON
77
GO
78
PRINT N'Creating primary key [PK_ASS_AMORT_DT_LATEST] on [dbo].[ASS_AMORT_DT_LATEST]'
79
GO
80
ALTER TABLE [dbo].[ASS_AMORT_DT_LATEST] ADD CONSTRAINT [PK_ASS_AMORT_DT_LATEST] PRIMARY KEY CLUSTERED  ([AMORTDT_ID])
81
GO
82
IF @@ERROR <> 0 SET NOEXEC ON
83
GO
84
PRINT N'Creating index [NonClusteredIndex20150730144228] on [dbo].[ASS_AMORT_DT_LATEST]'
85
GO
86
CREATE NONCLUSTERED INDEX [NonClusteredIndex20150730144228] ON [dbo].[ASS_AMORT_DT_LATEST] ([ASSET_ID])
87
GO
88
IF @@ERROR <> 0 SET NOEXEC ON
89
GO
90
PRINT N'Altering [dbo].[CM_EMPLOYEE_SYNC]'
91
GO
92
IF @@ERROR <> 0 SET NOEXEC ON
93
GO
94
ALTER TABLE [dbo].[CM_EMPLOYEE_SYNC] ADD
95
[SYNC_DATE] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
96
GO
97
IF @@ERROR <> 0 SET NOEXEC ON
98
GO
99
PRINT N'Altering trigger [dbo].[TRIG_CM_EMPLOYEE_SYNC_Ins] on [dbo].[CM_EMPLOYEE_SYNC]'
100
GO
101
ALTER TRIGGER [dbo].[TRIG_CM_EMPLOYEE_SYNC_Ins]
102
	ON [dbo].[CM_EMPLOYEE_SYNC]
103
	AFTER INSERT
104
AS 
105
BEGIN
106
  --STORE ĐỒNG BỘ NHÂN VIÊN VÀ ĐIỀU CHUYỂN TÀI SẢN NHÂN SỰ
107
  --29/09/22
108
	SET NOCOUNT ON;
109
          IF (EXISTS(SELECT TOP 1 MaNS FROM INSERTED)) 
110
          BEGIN  
111
          
112
              DECLARE @MaDV_Cu_SYNC VARCHAR(500) = (SELECT TOP 1 MaDVCu FROM INSERTED)
113
              DECLARE @MaDV_Moi_SYNC VARCHAR(500) = (SELECT TOP 1 MaDVMoi FROM INSERTED) 
114

    
115
              --UPDATE MÃ MỚI DO KT UPDATE
116
              IF(@MaDV_Cu_SYNC = '0100')
117
              BEGIN
118
                  SET @MaDV_Cu_SYNC = '0600'
119
              END
120

    
121
              IF(@MaDV_Cu_SYNC = '0101')
122
              BEGIN
123
                  SET @MaDV_Cu_SYNC = '0601'
124
              END
125

    
126
              IF(@MaDV_Moi_SYNC = '0100')
127
              BEGIN
128
                  SET @MaDV_Moi_SYNC = '0600'
129
              END
130

    
131
              IF(@MaDV_Moi_SYNC = '0101')
132
              BEGIN
133
                  SET @MaDV_Moi_SYNC = '0601'
134
              END
135
                
136
              --MAP DATA HR VỚI KT
137
              IF(EXISTS(SELECT 1 FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Cu_SYNC))
138
              BEGIN
139
                  SET @MaDV_Cu_SYNC = (SELECT TOP 1 KT_ID FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Cu_SYNC)
140
              END
141
              IF(EXISTS(SELECT 1 FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Moi_SYNC))
142
              BEGIN
143
                  SET @MaDV_Moi_SYNC = (SELECT TOP 1 KT_ID FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Moi_SYNC)
144
              END
145
              DECLARE @MACD_CU_SYNC VARCHAR(500) = (SELECT TOP 1 MaCDCu FROM INSERTED)
146
              DECLARE @MACD_MOI_SYNC VARCHAR(500) = (SELECT TOP 1 MaCDMoi FROM INSERTED)
147
    
148
            --START: PARAM INSERT NHÂN VIÊN MỚI
149
              DECLARE @l_EMP_ID VARCHAR(500)
150
              DECLARE @p_EMP_CODE	varchar(500)  = (SELECT TOP 1 MaNS FROM INSERTED)
151
              DECLARE @p_EMP_NAME	nvarchar(500)  = (SELECT TOP 1 HoTen FROM INSERTED)
152
      
153
              DECLARE @p_BRANCH_ID	varchar(15) = NULL 
154
              DECLARE @p_DEP_ID	varchar(15) = NULL             
155
              
156
              DECLARE @p_POS_CODE VARCHAR(50) = NULL
157
              DECLARE @p_POS_NAME NVARCHAR(MAX) = NULL             
158
      
159
              DECLARE @p_NOTES	nvarchar(1000)  = N'ĐỒNG BỘ'
160
              DECLARE @p_RECORD_STATUS	varchar(1)  = '1'
161
              DECLARE @p_AUTH_STATUS	varchar(1)  = 'A'
162
              DECLARE @p_MAKER_ID	varchar(15)  = 'ADMIN'
163
              DECLARE @p_CREATE_DT	VARCHAR(50) = GETDATE()
164
              DECLARE @p_CHECKER_ID	varchar(15)  = 'ADMIN'
165
              DECLARE @p_APPROVE_DT	VARCHAR(50) = GETDATE()
166
            --END: PARAM INSERT NHÂN VIÊN MỚI
167
    
168
            --START: PARAM INSERT CM_EMPLOYEE_TRANSFER_LOG
169
              DECLARE @I_EMP_ID VARCHAR(20) = (SELECT TOP 1 ce.EMP_ID FROM CM_EMPLOYEE ce WHERE ce.EMP_CODE = (SELECT MaNS FROM INSERTED))
170
              DECLARE @I_STATUS VARCHAR(5) 
171
    
172
              DECLARE @C_Ma_DV_Cu VARCHAR(500) = NULL  --MÃ ĐV CŨ ĐỂ CHECK IF
173
              DECLARE @C_Ma_DV_Moi VARCHAR(500) = NULL --MÃ DV MỚI ĐỂ CHECK IF
174
              DECLARE @C_Ma_PB_Cu VARCHAR(500) = NULL  --MÃ PB CŨ ĐỂ CHECK IF
175
              DECLARE @C_Ma_PB_Moi VARCHAR(500) = NULL --MÃ PB MỚI ĐỂ CHECK IF
176
            --END: PARAM INSERT CM_EMPLOYEE_TRANSFER_LOG
177

    
178
              DECLARE @TLNAME VARCHAR(200) = NULL
179

    
180
              DECLARE @BLOCK_ID_OLD VARCHAR(15) = NULL --Mã khối cũ check điều chuyển nhân sự
181
              DECLARE @CENTER_ID_OLD VARCHAR(15) = NULL  --Mã trung tâm cũ check điều chuyển nhân sự
182
              DECLARE @DEP_ID_OLD VARCHAR(15) = NULL  --Mã phòng ban cũ check điều chuyển nhân sự
183

    
184
              DECLARE @BLOCK_ID_NEW VARCHAR(15) = NULL  --Mã khối mới check điều chuyển nhân sự
185
              DECLARE @CENTER_ID_NEW VARCHAR(15) = NULL  --Mã trung tâm mới check điều chuyển nhân sự
186
              DECLARE @DEP_ID_NEW VARCHAR(15) = NULL  --Mã phòng ban mới check điều chuyển nhân sự
187
    
188
            --START: PARAM INSERT 
189
    
190
            --CHECK XEM ĐƠN VỊ/PHÒNG BAN CỦA NHÂN VIÊN MỚI CỬA KH LƯU TRONG CỘT MaDVCu HAY CỘT MaDVMoi
191
            IF (EXISTS(SELECT TOP 1 MaDVCu FROM INSERTED WHERE MaDVCu IS NOT NULL AND MaDVCu <> ''))
192
            BEGIN 
193
                --CHECK XEM MÃ LÀ ĐƠN VỊ HAY PHÒNG BAN
194
                IF(EXISTS(SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Cu_SYNC))
195
                BEGIN
196
                    SET @p_BRANCH_ID = 'DV0001'
197
                    SET @C_Ma_DV_Cu = 'DV0001'
198
                    SET @p_DEP_ID = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Cu_SYNC)
199
                    SET @C_Ma_PB_Cu = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Cu_SYNC)
200
                END
201
                ELSE
202
                BEGIN
203
                    SET @p_BRANCH_ID = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Cu_SYNC)
204
                    SET @C_Ma_DV_Cu = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Cu_SYNC)
205
                END         
206
            END
207
            --ELSE
208
    
209
            IF(EXISTS(SELECT TOP 1 MaDVMoi FROM INSERTED WHERE MaDVMoi IS NOT NULL AND MaDVMoi <> ''))
210
            BEGIN
211
                --CHECK XEM MÃ LÀ ĐƠN VỊ HAY PHÒNG BAN
212
                IF(EXISTS(SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = (SELECT MaDVMoi FROM INSERTED)))
213
                BEGIN
214
                    SET @p_BRANCH_ID = 'DV0001'
215
                    SET @C_Ma_DV_Moi = 'DV0001'
216
                    SET @p_DEP_ID = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Moi_SYNC)
217
                    SET @C_Ma_PB_Moi = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Moi_SYNC)
218
                END
219
                ELSE
220
                BEGIN
221
                    SET @p_BRANCH_ID = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Moi_SYNC)
222
                    SET @C_Ma_DV_Moi = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Moi_SYNC)
223
                END
224
            END        
225
            
226
            --GET KHỐI, TRUNG TÂM, PHÒNG BAN
227
            EXEC CM_DEPARTMENT_GET_BLOCK_CENTER @C_Ma_PB_Cu ,@BLOCK_ID_OLD OUT ,@CENTER_ID_OLD OUT , @DEP_ID_OLD OUT   
228
                                   
229
            --GET KHỐI, TRUNG TÂM, PHÒNG BAN
230
            EXEC CM_DEPARTMENT_GET_BLOCK_CENTER @C_Ma_PB_Moi, @BLOCK_ID_NEW OUT ,@CENTER_ID_NEW OUT ,@DEP_ID_NEW OUT     
231
                               
232
            IF(@p_BRANCH_ID <> 'DV0001')
233
            BEGIN
234
                SET @p_DEP_ID = NULL
235
            END
236

    
237
            PRINT @C_Ma_DV_Cu
238
            PRINT @C_Ma_DV_Moi
239
        		IF((@C_Ma_DV_Cu IS NULL OR @C_Ma_DV_Cu = '') AND (@C_Ma_DV_Moi IS NULL OR @C_Ma_DV_Moi = ''))
240
        		BEGIN
241
          			--N'Mã DV cũ và Mã DV mới không có giá trị'
242
                PRINT 1
243
        		END
244
            ELSE
245
            BEGIN
246
            
247
              IF((SELECT COUNT(*) FROM CM_EMPLOYEE_LOG CEL WHERE CEL.EMP_CODE = @p_EMP_CODE) > 1)
248
              BEGIN
249
                    SET @TLNAME = (SELECT TOP 1 CEL.USER_DOMAIN FROM CM_EMPLOYEE_LOG CEL WHERE CEL.EMP_CODE = @p_EMP_CODE 
250
                              AND CEL.BRANCH_CODE = @MaDV_Cu_SYNC
251
                              AND (CEL.DEP_CODE = @C_Ma_PB_Cu OR @C_Ma_PB_Cu IS NULL))
252
              END
253
              ELSE
254
              BEGIN
255
                  SET @TLNAME = (SELECT TOP 1 CEL.USER_DOMAIN FROM CM_EMPLOYEE_LOG CEL WHERE CEL.EMP_CODE = @p_EMP_CODE)
256
              END
257

    
258
            --CHECK DATA CHỨC DANH LƯU CỘT CDMOI HAY CDCU
259
            IF(EXISTS(SELECT 1 FROM INSERTED WHERE MaCDMoi IS NOT NULL AND MaCDMoi <> ''))
260
            BEGIN
261
                  --NẾU CHỨC DANH CHƯA CÓ TRONG HỆ THỐNG THÌ THÊM MỚI CHỨC DANH
262
                  IF(NOT EXISTS(SELECT 1 FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH = @MACD_MOI_SYNC))
263
                  BEGIN
264
                       INSERT INTO CM_MAPPING_CHUCDANH_ROLE (MA_CHUC_DANH, TEN_CHUC_DANH, NHOM_CHUC_DANH, ROLE_ID)
265
                       VALUES (@MACD_MOI_SYNC, (SELECT TOP 1 CDMoi FROM INSERTED), NULL, NULL);
266
                  END
267
    
268
                  SET @p_POS_CODE = @MACD_MOI_SYNC
269
                  SET @p_POS_NAME = (SELECT TOP 1 CDMoi FROM INSERTED)
270
            END
271
            ELSE IF(EXISTS(SELECT 1 FROM INSERTED WHERE MaCDCu IS NOT NULL AND MaCDCu <> ''))
272
            BEGIN
273
                  --NẾU CHỨC DANH CHƯA CÓ TRONG HỆ THỐNG THÌ THÊM MỚI CHỨC DANH
274
                  IF(NOT EXISTS(SELECT 1 FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH = @MACD_CU_SYNC))
275
                  BEGIN
276
                       INSERT INTO CM_MAPPING_CHUCDANH_ROLE (MA_CHUC_DANH, TEN_CHUC_DANH, NHOM_CHUC_DANH, ROLE_ID)
277
                       VALUES (@MACD_CU_SYNC, (SELECT TOP 1 CDCu FROM INSERTED), NULL, NULL);
278
                  END
279
    
280
                  SET @p_POS_CODE = @MACD_CU_SYNC
281
                  SET @p_POS_NAME = (SELECT TOP 1 CDCu FROM INSERTED)
282
            END
283
    
284
    
285
             --CHECK NHÂN VIÊN XEM CÓ XEM TRONG HỆ THỐNG KHÔNG
286
             IF(EXISTS(SELECT TOP 1 ce.EMP_ID FROM CM_EMPLOYEE ce WHERE ce.EMP_CODE = (SELECT MaNS FROM INSERTED)))
287
             BEGIN
288
                
289
                IF(EXISTS(
290
                        SELECT atmd.ASSET_ID FROM ASS_TRANSFER_MULTI_DT atmd
291
                        WHERE (atmd.EMP_ID = @I_EMP_ID AND atmd.EMP_ID_OLD = @I_EMP_ID 
292
                                               AND (atmd.BRANCH_ID = @C_Ma_DV_Moi AND atmd.BRANCH_ID_OLD = @C_Ma_DV_Cu
293
                                                    AND ISNULL(atmd.KHOI_ID_OLD,'') = ISNULL(@BLOCK_ID_OLD,'') AND ISNULL(atmd.KHOI_ID,'') = ISNULL(@BLOCK_ID_NEW,'')
294
                                                    AND ISNULL(atmd.CENTER_ID_OLD,'') = ISNULL(@CENTER_ID_OLD,'') AND ISNULL(atmd.CENTER_ID,'') = ISNULL(@CENTER_ID_NEW,'')
295
                                                    AND ISNULL(atmd.DEPT_ID_OLD,'') = ISNULL(@DEP_ID_OLD,'') AND ISNULL(atmd.DEPT_ID,'') = ISNULL(@DEP_ID_NEW,''))  
296
      																				 AND atmd.AUTH_STATUS_KT <> 'A') --ĐIỀU CHUYỂN TS TỪ ĐV NÀY SANG ĐV KHÁC CHO CÙNG NV
297
                              OR (atmd.EMP_ID_OLD = @I_EMP_ID AND atmd.EMP_ID <> @I_EMP_ID  
298
                                  AND atmd.BRANCH_ID_OLD = @C_Ma_DV_Cu 
299
                                  AND ISNULL(atmd.KHOI_ID_OLD,'') = ISNULL(@BLOCK_ID_OLD,'')
300
                                  AND ISNULL(atmd.CENTER_ID_OLD,'') = ISNULL(@CENTER_ID_OLD,'')
301
                                  AND ISNULL(atmd.DEPT_ID_OLD,'') = ISNULL(@DEP_ID_OLD,'')
302
                                  AND atmd.AUTH_STATUS_KT <> 'A') --ĐIỀU CHUYỂN TS TỪ ĐV NÀY SANG ĐV KHÁC NHƯNG KHÁC NV
303
                        UNION ALL
304
                        SELECT am.ASSET_ID FROM ASS_MASTER am WHERE am.BRANCH_ID = @C_Ma_DV_Cu AND ISNULL(am.DEPT_ID,'') = ISNULL(@C_Ma_PB_Cu,'') AND am.EMP_ID = @I_EMP_ID ))                             
305
                  SET @I_STATUS = '0'
306
                ELSE
307
                  SET @I_STATUS = '1'
308
      
309
                INSERT INTO CM_EMPLOYEE_TRANSFER_LOG (EMP_ID, TRANSFER_DT, BRANCH_ID_OLD, DEP_ID_OLD, BRANCH_ID_NEW, DEP_ID_NEW, STATUS)
310
                VALUES (@I_EMP_ID, CONVERT(DATETIME,(SELECT TOP 1 TGTao FROM INSERTED),103), @C_Ma_DV_Cu,@C_Ma_PB_Cu, @C_Ma_DV_Moi, @C_Ma_PB_Moi, @I_STATUS);  
311
      
312
                --CHECK TRƯỜNG HỢP 1 NHÂN VIÊN CÓ QUYỀN 2 CHI NHÁNH TRỞ TRÊN (KHÁC TLNAME)
313

    
314
                --PHUCVH 22/12/22 CHECK NẾU MADV,PB MỚI THAY ĐỔI THÌ UPDATE LẠI MADV,PB CHO NHANVIEN
315
                IF(EXISTS(SELECT 1 FROM CM_EMPLOYEE A WHERE A.EMP_CODE = @p_EMP_CODE 
316
                              AND ISNULL(@p_BRANCH_ID,'') <> ''
317
                              AND ((ISNULL(@p_BRANCH_ID,'') = 'DV0001' AND ISNULL(@p_DEP_ID,'') <> '')
318
                                    OR (ISNULL(@p_BRANCH_ID,'') <> 'DV0001' AND ISNULL(@p_DEP_ID,'') = ''))
319
                              AND (ISNULL(A.BRANCH_ID,'') <> ISNULL(@p_BRANCH_ID,'')
320
                                  OR ISNULL(A.DEP_ID,'') <> ISNULL(@p_DEP_ID,''))))
321
                BEGIN
322
                      --NẾU LÀ DVCM THÌ SKIP. KHÔNG UPDATE BRANCH VÀ DEP
323
                      IF(NOT EXISTS(SELECT 1 
324
                                FROM TL_USER A
325
                                LEFT JOIN AbpUserRoles B ON A.ID = B.UserId
326
                                LEFT JOIN AbpRoles C ON B.RoleId = C.Id
327
                                WHERE A.TLNANME = @TLNAME AND C.DisplayName = 'DVCM'))
328
                      BEGIN
329

    
330
                          UPDATE CM_EMPLOYEE SET BRANCH_ID = @p_BRANCH_ID, DEP_ID = @p_DEP_ID 
331
                          WHERE EMP_CODE = @p_EMP_CODE
332
        
333
                          --CHECK UPDATE TL_USER VÀ CM_EMPLOYEE_LOG
334
                          IF(EXISTS(SELECT 1 FROM CM_EMPLOYEE_LOG WHERE EMP_CODE = @p_EMP_CODE))
335
                          BEGIN
336
                              UPDATE CM_EMPLOYEE_LOG SET BRANCH_CODE = (SELECT TOP 1 BRANCH_CODE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID),
337
                                                         DEP_CODE = (SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID = @p_DEP_ID)
338
                              WHERE EMP_CODE = @p_EMP_CODE AND USER_DOMAIN = @TLNAME
339
        
340
                              UPDATE TL_USER SET TLSUBBRID = @p_BRANCH_ID, SECUR_CODE = @p_DEP_ID, DEP_ID = @p_DEP_ID
341
                              WHERE TLNANME = @TLNAME
342
                          END
343
                      END
344
    
345
                END  
346
                
347
                --PHUCVH 22/12/22 CHECK NẾU MA CHUC DANH THAY ĐỔI THÌ UPDATE
348
                IF(EXISTS(SELECT 1 FROM CM_EMPLOYEE A WHERE A.EMP_CODE = @p_EMP_CODE
349
                                AND ISNULL(A.POS_CODE,'') <> ISNULL(@p_POS_CODE,'')))
350
                BEGIN
351
                     UPDATE CM_EMPLOYEE SET POS_CODE = @p_POS_CODE, POS_NAME = @p_POS_NAME
352
                     WHERE EMP_CODE = @p_EMP_CODE 
353
    
354
                     UPDATE CM_EMPLOYEE_LOG SET POS_CODE = @p_POS_CODE, POS_NAME = @p_POS_NAME
355
                     WHERE EMP_CODE = @p_EMP_CODE AND USER_DOMAIN = @TLNAME
356
                END                     
357
    
358
                --IF @@Error <> 0 GOTO ABORT
359
          		  --SET @Message = N'Đồng bộ điều chuyển nhân sự thành công'
360
             END
361
             ELSE
362
             BEGIN
363
                --KHÔNG CÓ TRONG HỆ THỐNG
364
                --THÊM THÔNG TIN NHÂN VIÊN
365
                		EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID out		       
366
                		INSERT INTO CM_EMPLOYEE([EMP_ID],[EMP_CODE],[EMP_NAME],[BRANCH_ID],[DEP_ID],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT],[POS_CODE],[POS_NAME])
367
                		VALUES(@l_EMP_ID ,@p_EMP_CODE ,@p_EMP_NAME ,@p_BRANCH_ID ,@p_DEP_ID ,@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), @p_POS_CODE, @p_POS_NAME )
368
                    --IF @@Error <> 0 GOTO ABORT
369
            				--SET @Message = N'Đồng bộ nhân viên mới thành công'
370
             END
371
            END
372
    
373
            
374
          END
375
END