1
|
|
2
|
ALTER TABLE dbo.CM_EMPLOYEE_SYNC
|
3
|
ADD SYNC_DATE NVARCHAR(100) NULL
|
4
|
UPDATE CM_EMPLOYEE_SYNC SET SYNC_DATE = '19/04/2023'
|
5
|
|
6
|
|
7
|
ALTER PROCEDURE dbo.CM_EMPLOYEE_SYNC_INS
|
8
|
@p_JSON_DATA NVARCHAR(MAX) = NULL
|
9
|
AS
|
10
|
----Phucvh 20/02/23 Store đồng bộ nhân viên từ DB HR
|
11
|
IF (@p_JSON_DATA IS NULL OR @p_JSON_DATA = '')
|
12
|
BEGIN
|
13
|
SELECT '-1' as Result, '' ID, N'Data NULL Đồng bộ thất bại' ErrorDesc
|
14
|
RETURN '-1'
|
15
|
END
|
16
|
|
17
|
--LUU DATA DONG BO
|
18
|
UPDATE THREAD_TIME_SEND_LOG SET MESSAGE = MESSAGE + @p_JSON_DATA
|
19
|
WHERE TOOL_VALUE = 'SYNC_EMP' AND ID = (SELECT TOP 1 TTSL.ID FROM THREAD_TIME_SEND_LOG TTSL WHERE TTSL.TOOL_VALUE = 'SYNC_EMP' ORDER BY TTSL.ID DESC)
|
20
|
|
21
|
DECLARE @SYNC_DATE VARCHAR(100) = FORMAT(GETDATE(),'dd/MM/yyyy')
|
22
|
|
23
|
DECLARE @Tbl_Data_From_Json TABLE(
|
24
|
Id UNIQUEIDENTIFIER,
|
25
|
Loai INT,
|
26
|
MaNS nvarchar(500),
|
27
|
HoTen nvarchar(500),
|
28
|
MaDVCu nvarchar(500),
|
29
|
DVCu nvarchar(500),
|
30
|
MaDVMoi nvarchar(500),
|
31
|
DVMoi nvarchar(500),
|
32
|
MaCDCu nvarchar(500),
|
33
|
CDCu nvarchar(500),
|
34
|
MaCDMoi nvarchar(500),
|
35
|
CDMoi nvarchar(500),
|
36
|
LoaiHDLD nvarchar(500),
|
37
|
Email nvarchar(500),
|
38
|
Ngay VARCHAR(500),
|
39
|
So nvarchar(500),
|
40
|
NgayHLuc VARCHAR(500),
|
41
|
NgayHetHLuc VARCHAR(500),
|
42
|
TGTao VARCHAR(500)
|
43
|
)
|
44
|
|
45
|
INSERT INTO @Tbl_Data_From_Json
|
46
|
SELECT *
|
47
|
FROM OPENJSON(@p_JSON_DATA)
|
48
|
WITH
|
49
|
(
|
50
|
Id UNIQUEIDENTIFIER '$.Id',
|
51
|
Loai INT '$.Loai',
|
52
|
MaNS nvarchar(500) '$.MaNS',
|
53
|
HoTen nvarchar(500) '$.HoTen',
|
54
|
MaDVCu nvarchar(500) '$.MaDVCu',
|
55
|
DVCu nvarchar(500) '$.DVCu',
|
56
|
MaDVMoi nvarchar(500) '$.MaDVMoi',
|
57
|
DVMoi nvarchar(500) '$.DVMoi',
|
58
|
MaCDCu nvarchar(500) '$.MaCDCu',
|
59
|
CDCu nvarchar(500) '$.CDCu',
|
60
|
MaCDMoi nvarchar(500) '$.MaCDMoi',
|
61
|
CDMoi nvarchar(500) '$.CDMoi',
|
62
|
LoaiHDLD nvarchar(500) '$.LoaiHDLD',
|
63
|
Email nvarchar(500) '$.Email',
|
64
|
Ngay VARCHAR(500) '$.Ngay',
|
65
|
So nvarchar(500) '$.So',
|
66
|
NgayHLuc VARCHAR(500) '$.NgayHLuc',
|
67
|
NgayHetHLuc VARCHAR(500) '$.NgayHetHLuc',
|
68
|
TGTao VARCHAR(500) '$.TGTao'
|
69
|
)
|
70
|
|
71
|
DECLARE
|
72
|
@Id UNIQUEIDENTIFIER, @Loai INT, @MaNS nvarchar(500), @HoTen nvarchar(500),
|
73
|
@MaDVCu nvarchar(500), @DVCu nvarchar(500), @MaDVMoi nvarchar(500), @DVMoi nvarchar(500),
|
74
|
@MaCDCu nvarchar(500), @CDCu nvarchar(500), @MaCDMoi nvarchar(500), @CDMoi nvarchar(500),
|
75
|
@LoaiHDLD nvarchar(500), @Email nvarchar(500), @Ngay VARCHAR(500), @So nvarchar(500),
|
76
|
@NgayHLuc VARCHAR(500), @NgayHetHLuc VARCHAR(500), @TGTao VARCHAR(500)
|
77
|
|
78
|
|
79
|
BEGIN TRANSACTION
|
80
|
DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR
|
81
|
SELECT * FROM @Tbl_Data_From_Json
|
82
|
|
83
|
OPEN cur
|
84
|
|
85
|
FETCH NEXT FROM cur INTO @Id,@Loai,@MaNS,@HoTen,@MaDVCu,@DVCu,@MaDVMoi,@DVMoi,@MaCDCu,@CDCu,@MaCDMoi,@CDMoi,@LoaiHDLD,@Email,@Ngay,@So,@NgayHLuc,@NgayHetHLuc,@TGTao
|
86
|
|
87
|
WHILE @@FETCH_STATUS = 0 BEGIN
|
88
|
|
89
|
IF(NOT EXISTS(SELECT 1 FROM CM_EMPLOYEE_SYNC ces WHERE ces.Id = @Id))
|
90
|
BEGIN
|
91
|
INSERT INTO CM_EMPLOYEE_SYNC (Id, Loai, MaNS, HoTen, MaDVCu, DVCu, MaDVMoi, DVMoi, MaCDCu, CDCu, MaCDMoi, CDMoi, LoaiHDLD, Email, Ngay, So, NgayHLuc, NgayHetHLuc, TGTao, SYNC_DATE)
|
92
|
VALUES(@Id,@Loai,@MaNS,@HoTen,@MaDVCu,@DVCu,@MaDVMoi,@DVMoi,@MaCDCu,@CDCu,@MaCDMoi,@CDMoi,@LoaiHDLD,@Email,CONVERT(DATETIME,@Ngay),@So,CONVERT(DATETIME,@NgayHLuc),CONVERT(DATETIME,@NgayHetHLuc),CONVERT(DATETIME,@TGTao), @SYNC_DATE)
|
93
|
END
|
94
|
|
95
|
FETCH NEXT FROM cur INTO @Id,@Loai,@MaNS,@HoTen,@MaDVCu,@DVCu,@MaDVMoi,@DVMoi,@MaCDCu,@CDCu,@MaCDMoi,@CDMoi,@LoaiHDLD,@Email,@Ngay,@So,@NgayHLuc,@NgayHetHLuc,@TGTao
|
96
|
|
97
|
END
|
98
|
|
99
|
CLOSE cur
|
100
|
DEALLOCATE cur
|
101
|
|
102
|
|
103
|
IF @@Error <> 0 GOTO ABORT
|
104
|
COMMIT TRANSACTION
|
105
|
SELECT '0' as Result, '' ID, N'Đồng bộ chi phí sửa chữa tài sản thành công' ErrorDesc
|
106
|
RETURN '0'
|
107
|
ABORT:
|
108
|
BEGIN
|
109
|
CLOSE cur
|
110
|
DEALLOCATE cur
|
111
|
ROLLBACK TRANSACTION
|
112
|
SELECT '-1' as Result, '' ID, N'Đồng bộ chi phí sửa chữa tài sản thất bại' ErrorDesc
|
113
|
RETURN '-1'
|
114
|
End
|
115
|
|
116
|
|