Giới thiệu về công ty thực tập
Công ty GESO
GESO (Công ty cổ phần Giải Pháp Doanh Nghiệp Toàn Cầu) được thành lập năm
Năm 2010, công ty chúng tôi trở thành một trong những nhà cung cấp giải pháp phần mềm quản lý hiếm hoi trên toàn cầu, tập trung vào các doanh nghiệp tầm trung tại Việt Nam, với mục tiêu tạo ra sự đột phá thông qua việc ứng dụng các công cụ quản lý tiên tiến.
Nhiều doanh nghiệp Việt Nam trong lĩnh vực tiêu dùng, dược phẩm và mỹ phẩm, đặc biệt là các doanh nghiệp vừa và nhỏ, đang nhận thức rõ ràng về tầm quan trọng của việc áp dụng các công cụ quản lý Tuy nhiên, họ đối mặt với thách thức trong việc tìm kiếm giải pháp phù hợp với đặc thù ngành hàng và chi phí đầu tư hợp lý.
Nhiều phần mềm quản lý nước ngoài thường gặp khó khăn trong việc tương thích với đặc thù kinh doanh tại Việt Nam Bên cạnh đó, chi phí cao cũng là một rào cản lớn đối với các doanh nghiệp trong nước.
Nhằm đáp ứng nhu cầu thiết yếu của doanh nghiệp, GESO đã phát triển công cụ phân phối SalesUp DMS và SalesUp ERP, được công nhận là tiên tiến nhất hiện nay Công cụ này được thiết kế dựa trên mong muốn và suy nghĩ của các nhà quản lý, điều hành tại doanh nghiệp Việt Nam.
Nhóm nghiên cứu và phát triển của GESO đã dành hơn 3 năm để phát triển SalesUp, do hai người đồng sáng lập có học vị tiến sĩ dẫn dắt, một ở Việt Nam và một ở Silicon Valley, California, Mỹ.
Phan Công Chính là một trong những chuyên gia CNTT hiếm hoi tại Việt Nam, được đào tạo bài bản và chuyên sâu trong lĩnh vực phát triển công cụ quản lý Sau khi tốt nghiệp tiến sĩ về CNTT tại Đức năm 2006, ông trở về nước và đảm nhận vị trí Giám đốc IT tại công ty ICP (X-Men), nơi ông đã phối hợp thành công trong việc triển khai SAP Ngoài ra, Chính còn tham gia phát triển kênh phân phối ICP cùng với bộ phận kinh doanh, tạo nền tảng cho sự phát triển của SalesUp, với ICP là khách hàng đầu tiên sử dụng sản phẩm này.
Sản phẩm của công ty
Công ty hiện đang phát triển công cụ phân phối SalesUp, được coi là tiên tiến nhất hiện nay Công cụ này được thiết kế dựa trên nhu cầu và mong muốn của các quản lý bộ phận Sales và giám đốc điều hành trong các doanh nghiệp kinh doanh hàng tiêu dùng tầm trung.
GESO, một công ty cung cấp phần mềm trọn gói, đã thiết lập mối quan hệ hợp tác với nhiều công ty trong nước, bao gồm SaiGon Food, Cinestar và công ty dược TRAPHACO.
Nội dung thực tập
Thời gian thực tập
- Thời gian thực tập hiện tại là 4 tháng, bắt đầu từ ngày 30/9/2019 đến 7/2/2020
- Thời gian làm việc sáng từ 8h00 đến 12h00, chiều từ 1h30 đến 5h30
- Các ngày làm việc trong tuần:
Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7
Lịch làm việc hằng tuần
Tìm hiểu các nội dung trong công ty
Công ty được giới thiệu bởi người phụ trách, nêu rõ quá trình thành lập và phát triển của doanh nghiệp Bài thuyết trình cũng đề cập đến quy trình làm việc từ cấp cao xuống cấp thấp, cùng với cách thức tổ chức của công ty, giúp người nghe hiểu rõ hơn về cấu trúc và hoạt động nội bộ.
Thực tập sinh sẽ được hướng dẫn về quy trình làm việc trong công ty, bao gồm thời gian làm việc, các quy định cần tuân thủ, và cách sử dụng email hiệu quả trong công việc.
Kết quả: Nắm vững thông tin về công ty cùng với quá trình hình thành và phát triển, đồng thời nâng cao kỹ năng sử dụng email trong công việc, giúp làm việc có kế hoạch, kỷ luật và trách nhiệm hơn.
Nghiên cứu kĩ thuật
2.3.1 Các công cụ làm việc
Nội dung : Tìm hiểu về các công cụ được sử dụng trong quá trình làm việc
Trong thời gian thực tập, các anh đã hướng dẫn sinh viên cách sử dụng các phần mềm hỗ trợ công việc, bao gồm Tortoise SVN để quản lý mã nguồn và các công cụ lập trình như IDE cho C# MVC và JavaWeb Servlet.
Thực hiện : Thực hành sử dụng các công cụ lập trình
Kết quả : Lập trình được trên các công cụ được hướng dẫn
Khóa đào tạo SQL dành cho thực tập sinh giúp nâng cao kỹ năng sử dụng và truy vấn cơ sở dữ liệu một cách nhanh chóng và chính xác Chương trình sẽ tập trung vào việc củng cố những kiến thức cơ bản của SQL Server, bao gồm các khái niệm như group, join, cùng với các phương pháp và quy tắc quan trọng.
+ Tránh để dữ liệu truy xuất bị trùng lặp bằng cách sử dụng lệnh Group
+ Sử dụng bảng tạm đối với những câu truy xuất quá phức tạp
+ Hạn chế ràng buộc các dữ liệu nhằm tránh xảy ra lỗi khi chỉnh sửa
+ Luôn có trường lưu trữ trạng thái của 1 đối tượng đánh việc đối tượng đó có bị xóa hay không thay vì xóa
Để nâng cao độ chính xác của các câu truy vấn, việc truy xuất kết quả từ nhiều bảng trong các báo cáo phức tạp là rất cần thiết.
- Tham gia đầy đủ các buổi training
- Làm các bài tập thực hành như vẽ những hình cơ bản
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả : Sau quá trình training thực tập sinh đã có thể tham gia vào những dự án hiện tại của công ty
2.3.4 Tìm hiểu về web Java Servlet
Thực tập sinh sẽ được đào tạo các kiến thức cơ bản về website, bao gồm HTML và CSS Sau đó, họ sẽ tiếp tục học về Servlet thông qua các bài tập thực tiễn dựa trên những dự án mà công ty đã hoàn thành.
Các mã trạng thái (status code) mà máy chủ web trả về bao gồm: 200 (Thành công), 202 (Đã nhận yêu cầu xử lý nhưng chưa hoàn thành), 400 (Lỗi do máy chủ không hiểu yêu cầu từ client), và 404 (Không tìm thấy máy chủ) Những mã lỗi này giúp xác định vị trí và nguyên nhân của sự cố trên máy chủ.
+ Cách để tạo 1 Request trong Servlet
+ Cách để tạo 1 Response trong Servlet
Thực hiện : Tham gia đầy đủ các buổi training
Làm bài tập đầy đủ ,tìm hiểu kĩ càng các nội dung được hướng dẫn
Tìm kiếm các tài liệu trên mạng
2.3.5 Tìm hiểu về ASP NET MVC
Học các nội dung Liên quan về MVC 5 như :
ASP.NET MVC là một framework hỗ trợ mô hình MVC cho ASP.NET, được chia thành ba phần chính: model, controller và view Model lưu trữ dữ liệu và ứng dụng, trong khi view sử dụng các file cshtml để hiển thị giao diện người dùng Controller đảm nhận việc xử lý các tương tác của người dùng với trang web, đảm bảo sự phân tách rõ ràng giữa các thành phần trong ứng dụng.
+ Cách thêm mới View, Controler, chỉnh sửa router
+ Các phương thức sắp xếp, tìm kiếm
- Tham gia đầy đủ các buổi training
- Làm các bài tập thực hành như vẽ những hình cơ bản
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Mô tả dự án CINESTART
Chức năng loại sản phẩm
Công việc đầu tiên của tôi tại công ty là phát triển chức năng phân loại sản phẩm trên nền tảng mã nguồn C# có sẵn Tôi đã được anh hướng dẫn chi tiết về các yêu cầu của chức năng và nhận được một file giao diện phác thảo để tham khảo.
Giao diện phát thảo cho chức năng loại sản phẩm
Nhiệm vụ của tôi là thiết kế giao diện cho trang chủ và các chức năng như chỉnh sửa, xem, cùng với việc thêm các thành phần như trạng thái, ngày giờ và người thực hiện tác vụ Đây là lần đầu tôi làm việc với ASP.NET MVC, nên tôi cần thời gian để tìm hiểu cách hoạt động cũng như các ràng buộc dữ liệu cần tuân thủ Mã nguồn trong Controller và View cho loại sản phẩm cũng sẽ được triển khai.
Giao diện trang index chức năng loại sản phẩm
Class ràng buộc các trường dữ liệu loại sản phẩm
Các file lưu trữ các cụm từ dành cho mục đích đa ngôn ngữ
Sau khi khởi tạo các class và cụm từ cần thiết, tôi tiếp tục tạo trang thêm loại sản phẩm Quá trình này đơn giản vì chỉ có ít trường cần nhập, dẫn đến giao diện dễ sử dụng Khi tạo mới một loại sản phẩm, người dùng có thể ngay lập tức thêm các sản phẩm thuộc loại đó bằng cách chọn các sản phẩm cần thiết.
Giao diện màn hình tạo mới loại sản phẩm
Sau khi hoàn thiện giao diện thêm, tôi tiếp tục phát triển tính năng chỉnh sửa các mục đã tạo Tương tự như khi tạo mới, bước đầu tiên là xây dựng một hàm get để lấy thông tin cần thiết cho việc chỉnh sửa và truyền chúng qua HTML.
Dưới đây là danh sách các hàm get và post thể gởi và nhận lệnh cho việc sửa chữa:
Hàm get cho việc chỉnh sửa loại sản phẩm
Hàm post cho việc chỉnh sửa loại sản phẩm
Sau đó thiết kế thêm một html cho việc chỉnh sửa tương tự trang tạo mới sẽ được trang chỉnh sữ như sau:
Chức năng chỉnh sửa loại sản phẩm
Để tạo trang xem chi tiết, chúng ta chỉ cần lọc bớt các phần không cần thiết trong HTML và không sử dụng hàm POST để gọi về controller Việc này tương tự như quá trình chỉnh sửa, giúp tối ưu hóa trải nghiệm người dùng.
Chức năng xem chi tiết loại sản phẩm
Em đã cải thiện chức năng tìm kiếm trên trang index của loại sản phẩm để người dùng dễ dàng tìm kiếm hơn Đầu tiên, em tạo thêm một class để lưu trữ các câu query trả về và truyền chúng qua HTML bằng Viewbag.
Một phần chức năng tạo mới bán hàng hộ gia đình (source code demo)
Các chức năng dữ liệu nền
Trong các tuần tiếp theo, tôi được giao nhiệm vụ thực hiện các chức năng đơn giản hỗ trợ cho các tác vụ dữ liệu nền của dự án, bao gồm tìm kiếm, tạo mới, chỉnh sửa và xem chi tiết.
Cụm rạp nhằm mục đích phân biệt các cụm rạp riêng biệt với nhau Dễ cho việc quản lý từng cụp rạp sau này
Trong dự án liên quan đến các rạp chiếu phim, ghế là yếu tố thiết yếu không thể thiếu Việc phân loại ghế giúp dễ dàng quản lý các thuộc tính của chúng, từ đó nâng cao trải nghiệm của khán giả.
3.2.4 Nhà phát hành Ứng với mỗi phim được chiếu ra sẽ có các nhà phát hành cho chúng
Chức năng này cho phép tạo mã khung giờ cho các rạp, giúp xác định mức khung giờ cần thiết để xây dựng bảng giá sản phẩm và bảng giá vé.
Danh mục vật tư làm danh sách các nhóm vật tư, về vật phẩm nhằm tạo các BOM
3.2.7 Tỉnh thành, quận huyện, xã phường
Danh sách các tỉnh thành cho các rạp chiếu
Chức năng khai báo kho
Sau khi làm quen với dự án qua chức năng đơn giản, tôi được giao nhiệm vụ thực hiện chức năng khai báo kho Module này chủ yếu dùng để khai báo kho và chọn sản phẩm vào kho Việc tải danh sách theo từng loại kho và theo rạp được thực hiện qua ajax Trong hàm load ajax, tôi đã xây dựng hai hàm để tiện cho việc tạo mới và chỉnh sửa kho vận.
Sau khi đã nhận và trả về html json em tiến hành tạo một table tạm để chưa các giá trị sản phẩm vừa load lên được.
Chức năng khai báo bảng giá sản phẩm
Công việc tiếp theo của tôi là tạo bảng giá sản phẩm để thuận tiện cho việc áp dụng giá cho các sự kiện và các rạp khác nhau Trước đây, tôi đã thực hiện chức năng này, và sau đó một đồng nghiệp đã bổ sung thêm tính năng cho phép đọc file giá của từng sản phẩm mà không cần nhập tay từng sản phẩm.
Việc tạo bảng giá sản phẩm mới cần được kiểm soát để tránh trùng lặp, vì chỉ có một bảng giá được áp dụng tại một thời điểm Để chèn bảng sản phẩm, tôi sử dụng PartialView trong ASP.NET, tạo một ActionResult cho sự kiện và một HTML riêng để lấy giá trị, giúp rút ngắn mã code trong các trang tạo mới và sửa chữa.
Chức năng báo cáo
Công việc yêu cầu tạo các trang báo cáo và xuất file báo cáo ra Excel để thống kê một cách rõ ràng Tôi được phân công thực hiện ba loại báo cáo: báo cáo kết quả chiếu phim theo từng phim, báo cáo kết quả chiếu phim theo ngày và báo cáo đối chiếu với nhà phát hành.
Báo cáo kết quả chiếu phim theo phim và theo ngày đều thống kê doanh thu và số vé bán ra trong một khoảng thời gian nhất định Tuy nhiên, để đơn giản hóa, tôi sẽ trình bày báo cáo kết quả chiếu phim theo phim, bao gồm tổng doanh thu và số vé bán theo từng mức giá.
3.5.1 Báo cáo chiếu phim theo phim
Để xuất file Excel trong Asp.net, em đã sử dụng thư viện miễn phí OfficeOpenXml từ NuGet Package Manager Thư viện này hỗ trợ em trong việc xuất các file Excel và định dạng các trang tính một cách dễ dàng.
3.5.2 Báo cáo đối chiếu nhà phát hành
Sau khi hoàn thành hai báo cáo, anh đã hướng dẫn em cách lấy một bảng dữ liệu động từ một câu SQL có sẵn Em đã sử dụng dataset để thực hiện chức năng này.
Sửa lỗi cho dự án
Dựa trên các lỗi mà tester phát hiện, chúng tôi phân chia quy trình sửa chữa thành bốn giai đoạn: "Open" khi lỗi vừa được tìm thấy, "Fixing" khi lỗi đang được sửa, "Fixed" khi lỗi đã được khắc phục và chờ kiểm duyệt, và "Done" khi lỗi đã được duyệt và không còn tồn tại.
Chương 4 Kết quả đạt được
Trong thời gian thực tập tại Công ty CP Giải Pháp Doanh Nghiệp Toàn Cầu, tôi đã có cơ hội học hỏi và thực hành qua các dự án thực tế, tiếp xúc với nhiều người, công cụ và ngôn ngữ mới Điều này không chỉ củng cố kiến thức đã học mà còn mang lại cho tôi nhiều kiến thức mới và cần thiết cho sự nghiệp sau này.
● Củng cố thêm kiến thức về SQL, C# và ASP.NET MVC
● Các thư viện mới, hỗ trợ lập trình tốt nhất (Visual, SVN)
● Làm qua một dự án thực tế bằng ASP.NET
● Được gặp đối tác trực tiếp giúp hiểu hơn về các quy trình và nghiệp vụ thực tế
Triển khai dự án hiệu quả đòi hỏi hiểu rõ quy trình hoạt động của công ty và các chiến lược phát triển web nhằm nâng cao trải nghiệm người dùng, đồng thời đáp ứng tốt nhất nhu cầu của khách hàng.
● Nâng cao khả năng làm việc nhóm
● Kỹ năng tìm hiểu cái mới
● Kỹ năng debug, fix bug, đọc tài liệu
Trong quá trình làm việc, tôi đã học cách viết thư điện tử hiệu quả để quản lý công việc cá nhân, đồng thời cải thiện kỹ năng giao tiếp và ứng xử với mọi người.
Khi viết email, dù nội dung là tiếng Việt hay tiếng Anh, anh chị cần chú ý sử dụng chữ tiếng Việt cho cả tiêu đề và nội dung để đảm bảo sự rõ ràng và dễ hiểu.