1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thực tập hệ thống quản lý nhân sự

26 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Hệ Thống Quản Lý Nhân Sự
Tác giả Nguyễn Thiện Sua
Người hướng dẫn Ths Nguyễn Thị Thanh Trúc
Trường học Trường Đại học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
Chuyên ngành Khoa Công Nghệ Phần Mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố TP Hồ Chí Minh
Định dạng
Số trang 26
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo này nhằm giới thiệu quá trình thực hiện dự án, các công nghệ và phương phápđược sử dụng cũng như những thách thức và kinh nghiệm gặp phải trong quá trình thực tập.Đồng thời, báo

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

HỆ THỐNG QUẢN LÝ NHÂN SỰ

Công ty thực tập : Công ty TNHH ECR Việt Nam

Thực tập sinh : Nguyễn Thiện Sua - 19522144

TP Hồ Chí Minh, tháng 7 năm 2023

Trang 2

LỜI MỞ ĐẦU

Trong thời đại công nghệ số phát triển mạnh mẽ như hiện nay, vai trò của hệ thống thôngtin trong quản lý nhân sự càng trở nên quan trọng và cần thiết hơn bao giờ hết Đặc biệt, việcthiết lập một hệ thống quản lý nhân sự hiệu quả không chỉ có thể cải thiện tính linh hoạt và tốc

độ quản lý thông tin nhân viên mà còn đóng vai trò quyết định đối với sự phát triển và thànhcông của tổ chức

Trong bối cảnh đó, em đã có cơ hội thực tập và tham gia vào dự án thiết lập hệ thốngquản trị nhân sự tiên tiến Trong thời gian thực tập, em đảm nhận vai trò backend của dự án, tậptrung phát triển chức năng cốt lõi và xử lý dữ liệu nhân viên

Báo cáo này nhằm giới thiệu quá trình thực hiện dự án, các công nghệ và phương phápđược sử dụng cũng như những thách thức và kinh nghiệm gặp phải trong quá trình thực tập.Đồng thời, báo cáo cũng nêu bật tầm quan trọng của hệ thống quản lý nguồn nhân lực và đónggóp của chúng đối với sự phát triển bền vững của tổ chức trong thời đại kỹ thuật số

Sau những năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũngnhư muốn được tham gia làm website trong một môi trường chuyên nghiệp Vì vậy, em quyếtđịnh chọn Công ty TNHH ECR Việt Nam - một môi trường lý tưởng, hiện đại, chuyên nghiệp -

là nơi sẽ giúp em thực hiện được dự định này

Trang 3

Đặc biệt cảm ơn anh Lưu Trọng Tuấn, đã training Backend, chỉ dẫn em về cách làm báo

cáo, lên kế hoạch, những kỹ năng không thể thiếu, hướng dẫn và hỗ trợ em rất nhiều về các vấn

đề kỹ thuật để có thể làm ra một sản phẩm trong thời gian qua; cảm ơn chị Nguyễn Ngọc Phương Trâm đã giúp đỡ cho chúng em tận tình cả những khó khăn trong công việc, đến những

khó khăn việc làm quen và cách hòa nhập với môi trường mới

Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điềukiện em làm bài báo cáo này

Nguyễn Thiện Sua

TP HCM, ngày 2 tháng 7 năm 2023

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

Mục Lục

Trang 6

Chương 1: Giới thiệu công ty thực tập

Giới thiệu công ty TNHH ECR Việt Nam

Công ty TNHH ECR Việt Nam là một công ty phần mềm với hoạt động kinhdoanh tập trung vào phát triển web và di động Với chuyên môn sâu rộng và nguồnlực chất lượng cao, ECR Việt Nam luôn mang đến cho khách hàng những giải phápsáng tạo và đổi mới Điều này sẽ làm giảm chi phí vận hành cũng như thời gian triểnkhai mà chất lượng sản phẩm và dịch vụ vẫn ở mức tốt nhất

Các khách hàng chính của công ty đến từ Vương quốc Anh, Đức, Pháp, Singapore

và Úc Công ty luôn mong muốn xây dựng mối quan hệ lâu dài với khách hàng Hiệntại, một số khách hàng của công ty đã ở với công ty hơn 5 năm và con số đó vẫnđang tăng lên

Trang 7

Ứng dụng di động:

❖ Dựa trên các khung dựng sẵn của công ty

❖ Chuyển các ứng dụng dành cho thiết bị di động của khách hàng sang cácnền tảng mới

❖ Sử dụng các sản phẩm của công ty để mở rộng danh mục đầu tư

❖ Kiểm tra ứng dụng dành cho thiết bị di động trên các thiết bị khác nhau

❖ Kiểm tra hiệu suất QoS và chuyển vùng

Trang 8

Chương 2: Nội dung thực tập

Đợt thực tập nhằm mục đích giúp sinh viên thực tập được đào tạo về lập trình BackendC# với ASP.NET Core API, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm,thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việctrong một môi trường phát triển website chuyên nghiệp

Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

Nội dung : Giới thiệu về công ty, cách tổ chức của công ty

Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triển(như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức củacông ty

Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công tynhư thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email và các công cụtrong công việc…

Kết quả : Hiểu thêm về công ty ECR Việt Nam, quá trình thành lập và phát triển.

Có thêm hiểu biết về các các công cụ trong công việc, cách làm việc có kế hoạch, có kỷluật, có trách nhiệm hơn

Nghiên cứu kỹ thuật

Các công cụ làm việc

Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc.

Trong thời gian này, leader hướng dẫn thực tập sinh tìm hiểu về các công cụ sẽgiúp ích cho trong công việc sau này Một số phần mềm trong số đó như Rocket Chat

- sử dụng để giao tiếp và làm việc nhóm, Mozilla Thunderbird dùng để quản lý email,pgAdmin dùng để quản trị cơ sở dữ liệu với database Postgres và IDE Visual Studio

Thực hiện : Thực hành cài đặt và sử dụng các phần mềm đã nêu trên.

Kết quả: Có kỹ năng cơ bản để sử dụng các công cụ kể trên và cách kết hợp chúng để

giúp công việc trở nên hiệu quả hơn

Tìm hiểu cấu trúc source code và cách viết API

Nội dung : Được training về cách tạo project, cấu trúc và tổ chức thư mục, tìm hiểu

cách viết API chuẩn

Cấu trúc một Solution gồm nhiều project quản lý các mảng riêng biệt:

- Controller: quản lý các API Controller và cấu hình trong dự án

- Common: chứa các hằng số, enum, mẫu thông báo lỗi, được dùng chungcho cả Solution

Trang 9

- DTOs: quản lý tất cả các model được dùng để gửi và nhận dữ liệu từ phíaFront-end và Device.

- Entities: quản lý các kết nối với cơ sở dữ liệu, migration, các entities tươngứng với các bảng, các cấu hình quan hệ và dữ liệu ban đầu cho chúng

- Service: chứa các service cho solution

Cách viết RESTful đúng chuẩn với các phương thức tương ứng

Thực hiện :

Tham gia đầy đủ các buổi training của công ty

Làm các bài kiểm tra về kiến thức đã học

Kết quả : Có được những kiến thức cơ bản về cấu trúc dự án và cách viết API sau

này Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúngchuẩn, dễ đọc, dễ hiểu

Cấu hình dự án ASP.NET Core API với Postgres bằng Entity Framework Code-First.

Nội dung: Biết cách cấu hình dự án, kết nối, tạo dữ liệu ban đầu, cấu hình mối quan

hệ giữa các bảng, tạo và quản lý Migration

DbContext: Biết cách tạo kết nối với cơ sở dữ liệu thông qua ConnectString trong

Thực hiện: Tham gia đầy đủ các buổi training.

Kết quả: Nắm được cách kết nối với và tương tác với cơ sở dữ liệu.

Xác thực và phân quyền với JWT

Nội dung : Xây dựng phần xác thực người dùng bằng JWT và phân quyền cho từng

loại user

Định nghĩa về JWT:

➢ JSON Web Token (JWT) là một chuẩn mở (RFC 7519) định nghĩa một cách nhỏgọn và khép kín để truyền một cách an toàn thông tin giữa các bên dưới dạng đốitượng JSON Thông tin này có thể được xác minh và đáng tin cậy vì nó có chứachữ ký số JWTs có thể được ký bằng một thuật toán bí mật (với thuật toánHMAC) hoặc một public / private key sử dụng mã hoá RSA

➢ JSON Web Token bao gồm 3 phần, được ngăn cách nhau bởi dấu chấm (.):

Header: Phần header sẽ chứa kiểu dữ liệu, và thuật toán sử dụng để mã hóa

ra chuỗi JWT

Trang 10

Payload: đóng một vai trò rất quan trọng trong JWT, đây là nơi chứa cácnội dung của thông tin (claim) mà người sử dụng muốn truyền đi ở bêntrong chuỗi.Các thông tin này góp phần mô tả thực thể một cách đơn giản

và nhanh chóng hoặc cũng có thể là các thông tin bổ sung thêm cho phầnHeader

Signature (chữ ký): Chữ ký Signature trong JWT là một chuỗi được mã hóabởi header, payload cùng với một chuỗi bí mật theo nguyên tắcHMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(payload), secret) Do bản thân Signature đã bao gồm cả header và payload nênSignature có thể dùng để kiểm tra tính toàn vẹn của dữ liệu khi truyền tải

Thực hiện : Tham gia đầy đủ các buổi training.

Kết quả: Cấu hình, xác thực và phân quyền cho người dùng.

LINQ

Nội dung : Được training về LINQ và cách truy vấn dữ liệu sao cho tối ưu nhất.

LINQ (Language-Integrated Query) là một tính năng trong NET Framework cho

phép truy vấn và thao tác dữ liệu từ các nguồn khác nhau bằng cách sử dụng cúpháp tương tự SQL LINQ cung cấp một cách tiện lợi để thao tác với dữ liệu từcác nguồn như các tập hợp (collections), cơ sở dữ liệu, XML, tệp tin, và cácnguồn dữ liệu khác

➢ Với LINQ, bạn có thể viết các truy vấn dữ liệu phức tạp bằng cách sử dụng cácphương thức mở rộng LINQ như Where, OrderBy, Select, Join và Aggregate.LINQ sử dụng cú pháp rõ ràng và dễ đọc, giúp rút ngắn và tối ưu hóa mã

➢ Hiểu cách dùng IQueryable và IEnumerable khi thực hiện truy vấn:

Execution: IQueryable sử dụng deferred execution, có nghĩa là truy vấnkhông được thực thi ngay lập tức mà chỉ khi nó được yêu cầu Ngược lại,IEnumerable sử dụng immediate execution, có nghĩa là truy vấn được thựcthi ngay khi nó được gọi

Truy vấn dữ liệu: IQueryable hỗ trợ các truy vấn dữ liệu phức tạp và tối ưuhóa truy vấn trên nguồn dữ liệu Nó cho phép tạo ra câu truy vấn SQL phứctạp và gửi trực tiếp đến cơ sở dữ liệu IEnumerable chỉ hỗ trợ các truy vấn

dữ liệu đơn giản và thực hiện truy vấn trên bộ nhớ

Tính tương thích với LINQ: IQueryable tương thích tốt hơn với LINQ(Language-Integrated Query) và cho phép sử dụng các phương thức mởrộng LINQ như Where, OrderBy, Select và Aggregate IEnumerable cũng

hỗ trợ LINQ, nhưng không linh hoạt và hiệu suất không cao nhưIQueryable

Trang 11

Tính tương thích với ORM: IQueryable được sử dụng rộng rãi trong cáccông nghệ ORM như Entity Framework, cho phép xây dựng và thực thitruy vấn LINQ trực tiếp trên cơ sở dữ liệu IEnumerable thường được sửdụng khi xử lý dữ liệu trong bộ nhớ hoặc các tập hợp tĩnh.

Thực hiện : Tham gia đầy đủ các buổi training.

Kết quả: Biết cách dùng LINQ và cách truy vấn dữ liệu sao cho tối ưu nhất.

Hangfire

Nội dung : Biết được cách cài đặt và lập lịch cho các jobs

➢ Hangfire là một thư viện mã nguồn mở trong C# dùng để xử lý các công việc(jobs) nền tảng (background jobs) trong ứng dụng web Nó giúp đơn giản hóa việcquản lý và thực thi các công việc dễ dàng, đồng thời cung cấp khả năng lập lịch,theo dõi và tái chạy các công việc nền tảng

➢ Với Hangfire, lập trình viên có thể xử lý các công việc không đồng bộ như gửiemail hàng loạt, cập nhật dữ liệu định kỳ, xử lý tác vụ dài hạn, và nhiều công việcnền tảng khác mà không ảnh hưởng đến khả năng phản hồi và hiệu suất của ứngdụng web

➢ Hangfire sử dụng cơ sở dữ liệu (database) để lưu trữ thông tin về các công việc vàlịch trình thực thi Nó hỗ trợ nhiều loại cơ sở dữ liệu như SQL Server, MySQL,PostgreSQL, Redis và nhiều hệ thống khác

Thực hiện : Tham gia đầy đủ các buổi training của công ty Làm các bài kiểm tra về

kiến thức đã học

Kết quả: Nắm được cách cấu hình và cách lập lịch để thực hiện các công việc định

kỳ

Export và import dữ liệu với excel bằng thư viện NPOI

Nội dung : Biết cách nhập và xuất dữ liệu bằng file excel theo định dạng được yêu

cầu với thư viện NPOI

➢ Thư viện NPOI là một thư viện mã nguồn mở được sử dụng trong ngôn ngữ lậptrình C# để làm việc với các tệp tin Office như Excel, Word, và PowerPoint NPOIcung cấp các API để tạo, đọc, và chỉnh sửa các tệp tin Office mà không cần sửdụng các ứng dụng Office như Excel hoặc Word Với NPOI, lập trình viên có thểthực hiện các thao tác như tạo tệp tin Excel từ dữ liệu, đọc dữ liệu từ tệp Excel,ghi dữ liệu vào tệp Excel, thực hiện tính toán và định dạng trong tệp Excel, vànhiều công việc khác liên quan đến tệp tin Office

Thực hiện : Tham gia đầy đủ các buổi training, cài đặt và thực hành.

Kết quả: Biết cách sử dụng, nhập và xuất dữ liệu thông qua file excel.

Trang 12

Xuất dữ liệu dạng PDF

Nội dung : Biết cách xuất dữ liệu ra file PDF theo định dạng cho trước bằng thư viện

iText7

➢ iText7 là một thư viện mã nguồn mở được sử dụng trong ngôn ngữ lập trình Java

và C# để tạo và xử lý các tài liệu PDF Nó cung cấp các API mạnh mẽ cho việctạo và tùy chỉnh các tệp PDF, bao gồm việc thêm và định dạng văn bản, hình ảnh,bảng, đồ thị, liên kết, trang, phông chữ, màu sắc, mã vạch, chữ ký điện tử, vànhiều tính năng khác Với iText7, lập trình viên có thể tạo tài liệu PDF từ dữ liệuđộng, sửa đổi nội dung và cấu trúc của tệp PDF sẵn có, trích xuất thông tin từ tệpPDF, tạo trang in ấn, chuyển đổi tệp tin từ định dạng khác sang PDF, và thực hiệnnhiều tác vụ liên quan đến PDF khác

Thực hiện : Tham gia đầy đủ các buổi training, cài đặt và thực hành.

Kết quả: Biết cách sử dụng, xuất dữ liệu ra PDF với iText7 với mẫu HTML.

Thực hiện project

Sau một thời gian training và thực hành, thực tập sinh đã nắm được những kiến thức cơbản về ASP.NET Core API Sau đó, trainer đã hướng dẫn thực tập sinh áp dụng nhữngkiến thức đã học để thực hiện một dự án thực tế về Quản lý nhân sự

Chi tiết dự án sẽ được nói ở phần sau

Lịch làm việc

Tuần Công việc Người hướng dẫn Mức độ

hoàn thành

Nhận xét của người hướng dẫn

1

- Tìm hiểu về công ty, cách tổ

chức của công ty

- Làm quen với các công cụ làm

việc trong công ty

- Học cách trao đổi, làm việc qua

email

ChịNguyễn NgọcPhương Trâm

100%

2 Làm quen với cấu trúc source

code và cách viết API

AnhLưu Trọng Tuấn 100%

Trang 13

- Cấu hình ASP.NET Core với

PostgreSQL với Entity

Framework Code-First

- Seed data và Migration

AnhLưu Trọng Tuấn 100%

4 Xác thực và phân quyền với

JWT

AnhLưu Trọng Tuấn 100%

5

Viết các API cần thiết cho

module User (thêm, xóa, sửa, đổi

mật khẩu lần đầu, quên mật

khẩu, )

AnhLưu Trọng Tuấn 100%

6 Viết API quản lý ca làm việc và

điểm danh của nhân viên

AnhLưu Trọng Tuấn 100%

7 Viết API về module nghỉ phép và

ngày lễ

AnhLưu Trọng Tuấn 100%

8 Viết API nhập và xuất User qua

file excel

AnhLưu Trọng Tuấn 100%

9 Viết API xuất dữ liệu người dùng

ra PDF

AnhLưu Trọng Tuấn 100%

10 Học cách dùng Hangfire lập lịch

chạy jobs

AnhLưu Trọng Tuấn 100%

11

Viết API xuất lịch sử điểm danh

của nhân viên dạng lịch biểu và

file excel

AnhLưu Trọng Tuấn 100%

12 Review và fix bugs

AnhLưu Trọng TuấnChịNguyễn Kiều Linh

100%

Trang 14

Chương 3: Chi tiết về project

Dưới sự bảo trợ của IMPL là 5 công ty khác, tất cả đều làm việc trên cùng mộtdây chuyền hoạt động và trao đổi hàng ngày về các công việc hàng ngày: OLI;PTIM; OLPL; Transport Pool; IMSB

Hệ thống IMPL ERP là bước đầu tiên trong sáng kiến số hóa mà Infiniti MarinePte Ltd (IMPL) đang bắt tay thực hiện; và với sự nỗ lực không ngừng, IMPLmong muốn mang lại sự tối ưu và hoàn thiện cho hệ thống theo thời gian

Trang 15

Dưới IMPL có 5 công ty khác dưới sự bảo trợ của họ và 6 công ty này đều làm việc trêncùng một dây chuyền hoạt động Các công ty gồm:

❖ Infiniti Marine Pte Ltd,

❖ Octogon Logistics Pte Ltd

❖ Infiniti Marine Sdn Bhd

❖ Perseroan Terbatas Infiniti Marine

❖ PT Octogon Logistics

❖ Infiniti Shipping Pte Ltd

Mỗi nhân viên sẽ chỉ thuộc một Business Company (công ty phụ trách trả lương chonhân viên đó) nhưng sẽ thuộc một nhóm các công ty để họ có thể trao đổi hàng ngày về cáccông việc hàng ngày Họ chỉ có quyền hạn trong nhóm công ty mà họ ở trong đó

Họ chia thành 8 group:

❖ Infiniti Marine Pte Ltd,

❖ Octogon Logistics Pte Ltd

❖ Infiniti Shipping Pte Ltd

Việc quản lý ca làm việc và điểm danh của nhân viên như sau:

- Ca làm việc của họ sẽ dựa theo tuần chẵn hay lẻ (tuần chẵn và tuần lẻ có ca làmviệc khác nhau)

- Ca làm việc có thể là ca làm trong ngày hoặc ca đêm (kéo dài qua ngày hôm sau)

- Một nhân viên có thể được chỉ định được phép OT hoặc không

- Trong ngày làm họ sẽ được 1h để ăn, nếu không dùng hết 1h đó thì có thể tínhsang OT (nếu được phép)

- Điểm danh vào làm (clock-in) bằng app và sẽ được nhắc nhở điểm danh 5p trước

Ngày đăng: 04/09/2023, 20:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. (n.d.). ECR SOLUTIONS VIETNAM COMPANY LIMITED. Retrieved July 3, 2023, from https://ecr.com.vn/ Sách, tạp chí
Tiêu đề: ECR SOLUTIONS VIETNAM COMPANY LIMITED
Năm: n.d.
2. C# docs - get started, tutorials, reference. (n.d.). Microsoft Learn. Retrieved July 3, 2023, from https://learn.microsoft.com/en-us/dotnet/csharp/ Sách, tạp chí
Tiêu đề: C# docs - get started, tutorials, reference
Nhà XB: Microsoft Learn
Năm: n.d.
3. Comartin, D. (n.d.). Documentation — Hangfire Documentation. Retrieved July 3, 2023, from https://docs.hangfire.io/en/latest/ Sách, tạp chí
Tiêu đề: Documentation — Hangfire Documentation
Tác giả: D. Comartin
Nhà XB: Hangfire
Năm: n.d.
4. iText Suite .NET (C#). (n.d.). iText. Retrieved July 3, 2023, from https://itextpdf.com/itext-suite-net-c Sách, tạp chí
Tiêu đề: iText Suite .NET (C#)
Nhà XB: iText
Năm: n.d.
5. nissl-lab/npoi: a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop. (n.d.). GitHub. Retrieved July 3, 2023, from https://github.com/nissl-lab/npoi Sách, tạp chí
Tiêu đề: npoi: a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop
Tác giả: nissl-lab
Nhà XB: GitHub
Năm: n.d.

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w