- Đáp ứng nhu cầu chung cho các bộ phận.- Tăng hiệu suất sản xuất và xác định rõ quy trình kinh doanh - Xử lý đơn hàng hoàn chỉnh - Hạn chế sai lầm trong việc nhập dữ liệu Nhược điểm và
Trang 1TRƯỜNG ĐẠI HỌC THĂNG LONG
KHOA TOÁN TIN
-
GIÁO VIÊN HƯỚNG DẪN NHÓM SINH VIÊN THỰC HIỆN
Mai Thúy Nga A40410 Nguyễn Huy Hoàng
A38219 Phan Duy Thành A39244 Bùi Chí Vĩ
BÀI TẬP LỚN : TÌM HIỂU, ỨNG DỤNG & PHÁT TRIỂN PHẦN MỀM ODOO TRONG DOANH NGHIỆP
HÀ NỘI – 2023
Trang 2PHẦN 1: GIỚI THIỆU CÁC MODULE CÓ SẴN CỦA ODOO TRONG CÁC MẢNG NGHIỆP VỤ.
1 Giới thiệu về tổ chức, những mảng nghiệp vụ sẽ ứng dụng:
- Tên tổ chức: Klever Fruits
- Sản phẩm kinh doanh: Các sản phẩm hoa quả và giỏ hoa quả bán trong các dịp ngày
lễ Klever Fruits là một tổ chức kinh doanh trực tuyến kinh doanh hoa quả do sinhviên Đại học Thăng Long phát triển Thời gian đầu nhóm hướng đến mục tiêu kinhdoanh các đầu hoa quả nhưng sau một thời gian thử sức, chúng tôi nhận thấy việc tiêuthụ hoa quả chưa thực sự phổ biến và được ưa chuộng đối với khu vực nhắm đến kinhdoanh Xét về nhiều góc độ, nhóm khởi đầu nhắm đến các đối tượng xung quanhtrường Đại học Thăng Long Với tôn chỉ “Mang đến cho khách hàng những sản phẩmtrái cây an toàn, chất lượng cao, mà kèm theo đó là những dịch vụ tiện ích thânthiện” Bằng những nỗ lực không ngừng theo thời gian, hệ thống Klever Fruit khẳngđịnh tiếp tục từng bước hoàn thiện và phát triển tốt nhất về sản phẩm và dịch vụ củamình Với quy mô còn hạn chế, nhóm vẫn đang trên đà cập nhật và mở rộng tổ chức,chúng tôi hiểu rõ tầm quan trọng của việc nâng cao chất lượng tổ chức do thị trường
Vì điều đó, ngoài việc nâng cao các chất lượng sản phẩm thì dịch vụ chăm sách kháchhàng và quản lý tổ chức cũng là một khâu không thể thiếu
Trang 3a ERP (Enterprise Resource Planning)
ERP là phần mềm hoạch định nguồn lực doanh nghiệp Hệ thống này cho phéptiếp cận các dữ liệu nội bộ được chia sẻ nhằm quản lý được toàn bộ hoạt động của ty
- E-Enterprise: Và điều cuối cùng chính là doanh nghiệp- thứ mà ERP muốn nhắm
tới Mục đích chính của hệ thống này là kết nối và đồng bộ công việc giữa các phòngban, cập nhật mọi thông tin cần thiết theo thời gian thật, thêm tính tự động trong hoạtđộng công ty và giảm sai sót trong quá trình xử lý nghiệp vụ
- R-Resource: Ứng dụng ERP vào trong doanh nghiệp chính là tận dụng được toàn bộ
tài nguyên của công ty, đặc biệt là nguồn nhân lực
- P-Planning: Hệ thống ERP hỗ trợ công ty lên trước các kế hoạch, nghiệp vụ trong
sản xuất, kinh doanh Phần hoạch định sẽ vạch ra hướng đi cho doanh nghiệp, việctính toán và dự báo các khả năng có thể phát sinh trong tương lai sẽ tác động tới cáchoạt động sau đó
Lợi thế và đặc điểm của ERP:
- Có khả năng đồng bộ
- Sự linh hoạt, khả năng thay đổi dữ liệu nhanh chóng, kịp theo thời gian thật
- Đáp ứng nhu cầu chung cho các bộ phận
- Tăng hiệu suất sản xuất và xác định rõ quy trình kinh doanh
- Xử lý đơn hàng hoàn chỉnh
- Hạn chế sai lầm trong việc nhập dữ liệu
Nhược điểm và rủi ro:
- Nếu triển khai một phần mềm ERP truyền thống, doanh nghiệp cần tri chảkhá nhiều tiền để có một bản giấy phép duy nhất Chi phí chi trả khá cao vàđáng lo ngại đối với các doanh nghiệp vừa và nhỏ
- Cần nhiều thời gian và nhân lực để triển khai
b Phần mềm Odoo:
Trang 4Odoo là một phần mềm ERP mã nguồn mở (open-source), nghĩa là khả năngtùy chỉnh và phát triển các tính năng của phần mềm này là vô hạn Cụ thể hơn, ngoàicác phân hệ hay module cơ bản của Odoo như POS, CRM, quản lý kho, quản lý nhânsự,… thì Odoo cho phép bạn hoàn toàn chỉnh sửa hay thêm bớt những tính năng hoặctạo ra các phân hệ mới mà doanh nghiệp mong muốn
Đặc điểm và lợi ích Odoo mang lại:
- Phân quyền linh hoạt
- Báo cáo tự động Nhược điểm:
- Khó khăn trong việc thiết lập
- Khó khăn trong việc duy trì hệ thốn
Trang 5Thông tin chi tiết:
Báo cáo thống kê theo số lượng nhân viên mới theo thời gian:
Trang 6Module Recruitment: Tổ chức tuyển dụng, sàng lọc và tuyển chọn cácứng cử viên có năng lực đáp ứng nhu cầu của công ty.
Danh sách thông tin các ứng cử viên tham gia các kỳ tuyển dụng:
Lựa chọn giao diện khác phù hợp với mục đích sử dụng dữ liệu :
Biểu đồ thống kê theo trạng thái tuyển dụng của các ứng cử viên:
Trang 7Module Appraisal: Đánh giá nhân viên trong công ty.
Danh sách các bản đánh giá nhân viên, giúp người quản lý đánh giá dễ dàngquan sát cũng như thực hiện việc đánh giá
Trang 8Kết quả đánh giá hiển thị trong mục Goals, cho thấy thông tin chi tiết vềcác bản đánh giá cũng như trạng thái bản đánh giá hiện tại.
Trong phần Reporting- báo cáo hoạt động đánh giá theo tùy chọn, dướiđây là báo cáo thống kê các bản đánh giá theo từng nhân viên:
Trang 9Module Time Off: Thiết lập các ngày nghỉ chung của tất cả nhân viêntrong công ty( Nghỉ lễ tết, ngày nghỉ bắt buộc, ) Bên cạnh đó, ứng dụng chophép quản lý, phê duyệt nghỉ phép của nhân viên.
Báo cáo ngày nghỉ theo từng nhân viên:
Trang 10Module Approval: Quản lý phê duyệt các loại đề xuất liên quan đến hợp
đồng, đơn yêu cầu, các khoản phí, giải thưởng,
Danh sách các yêu cầu với một số thông tin cơ bản:
Trang 12Ngoài ra module Events có thể kết hợp với module Website đưa các sựkiện tiếp cận đến với người tiêu dùng, đối tượng khách hàng của doanh nghiệpvới giao diện trực quan, bắt mắt hơn:
Nhóm Module tiếp cận trực tiếp khách hàng: Email Marketing, SMSMarketing, Social Marketing
Trong mục này nhóm lựa chọn module Email Marketing, một trong nhữngphương thức tiếp cận và giao tiếp với khách hàng:
Báo cáo các thông số liên quan đến marketing bằng email:
Trang 13Module Email Marketing: gửi các email tới khách hàng và theo dõi tất
cả các email và lưu trữ chúng, theo dõi tất cả các liên kết chiến dịch email củabạn và toàn bộ hiệu suất
Báo cáo về Mass Mailing ( gửi thu hàng loạt) : phân tích tỷ lệ , doanh thu
dự kiến và doanh thu được tạo ra từ các chiến dịch
Trang 18Đơn hàng có thể được tạo trực tiếp bằng việc nhập dữ liệu theo biểu mẫu
có sẵn, ngoài ra khách hàng có thể mua hàng trên website một cách dễ dàng khi
đó đơn hàng sẽ tự động được lưu thông tin để xử lý:
Báo cáo về bán hàng cũng được phân tích theo tùy chọn của người quản
lý, dưới đây là bản phân tích bán hàng, doanh số theo khách hàng:
Trang 19Module Contact: Quản lý các liên hệ với khách hàng, các nhà cung cấp và cácđối tác kinh doanh.
- Module CRM: Quản lý quan hệ với các tổ chức cá nhân, doanh nghiệp khác.Giải quyết các vấn đề, yêu cầu của khách hàng cũng như các bên đối tác doanh nghiệp khác:
Trang 20- Báo cáo cho các hoạt động quản lý quan hệ khách hàng:
e
Chăm sóc khách hàng :
Module Helpdesk: Giải quyết, hỗ trợ các vấn đề phát sinh trong quá trình mua
và bán của doanh nghiệp đối với khách hàng
Báo cáo phân tích theo trạng thái các hỗ trợ chăm sóc khách hàng trong quátrình cũng như sau khi mua hàng:
Trang 21PHẦN 2: ỨNG DỤNG BÊN THỨ BA TRONG ODOO.
1 Cấu trúc mở của Odoo và các ứng dụng bên thứ ba phát triển.
Odoo là phần mềm lập kế hoạch nguồn lực doanh nghiệp (ERP) mã nguồn
mở toàn diện được tạo thành từ một bộ tích hợp các mô-đun kinh doanh, baogồm quản lý quan hệ khách hàng (CRM), thương mại điện tử, kế toán, thanhtoán, quản lý hàng tồn kho, quản lý dự án, quản lý kho hàng, tài chính quản lý,sản xuất và mua hàng Các mô-đun này nhằm mục đích giao tiếp hiệu quả vàliền mạch với nhau để trao đổi thông tin
Ngoài ra Odoo còn bao gồm hơn 30 mô-đun chính được cập nhật thườngxuyên và hơn 16.000 ứng dụng / plug-in khác của bên thứ ba có sẵn trong cửahàng ứng dụng của hãng Bởi vì đây là một hệ thống mô-đun, khách hàng có thểbắt đầu với các công cụ đơn giản có sẵn khác và có thể thêm mô-đun nếu cần
Trang 222 Ứng dụng đã cài dặt và các chức năng chính.
1 ỨNG DỤNG: HOTEL MANNAGEMENT
Ứng dụng lựa chọn cài đặt: Hotel Management phiên bản 15.0
Hotel Management có các chức năng chính như:
Đặt phòng khách sạn
Thông báo những người đã check-in, check-out
Nhà hàng của khách sạn
Tạo các hồ sơ theo dõi các khoản chi tiêu của khách
Chỉnh sửa thông tin của các phòng, tiện nghi, dịch vụ của khách sạn
Nhập dữ liệu cho các chức năng
Đặt phòng khách sạn:
Theo dõi những người đã check-in:
Trang 23Theo dõi những người đã check-out:
Nhà hàng sẽ có các món ăn cho các bữa sáng, trưa , tối trong ngày:
Chỉnh sửa thông tin của khách sạn:
Trang 242 ỨNG DỤNG : HOSPITAL MANAGEMENT
Hospital management có các chức năng chính như:
Quản lí bệnh nhân nhập viện, đơn thuốc,bệnh nhân nội trú
Quản lí bác sĩ, chuẩn đoán bệnh cho các bệnh nhân
Kiểm tra phòng thí nghiệm, vaccine
Thanh toán, chi trả viện phí
Chỉnh sửa thông tin của các khoa, phòng ban trong bệnh viện Nhập dữ liệu cho các chức năng
Quản lí bệnh nhân nhập viện, đơn thuốc,bệnh nhân nội trú:
Trang 25Quản lí bác sĩ , và chuẩn đoán bệnh nhân :
Quản lí các Lab và kiểm tra Lab, vaccine cho bệnh nhân :
Chức năng thanh toán:
Trang 26Chỉnh sửa thông tin của các khoa, phòng ban trong bệnh viện, các giườngbệnh :
Trang 27PHẦN 3: TÌM HIỂU VỀ CẤU TRÚC MÃ NGUỒN VÀ CƠ
SỞ DỮ LIỆU CỦA ODOO.
1 Cấu trúc mã nguồn và cơ sở dữ liệu của Odoo.
a
Cấu trúc mã nguồn của Odoo
Odoo là một kiến trúc ba tầng đa đối tượng: tầng ứng dụng để xử lý, tầng
trình bày cho giao diện người dùng và tầng cơ sở dữ liệu để lưu trữ dữ liệu Bảnthân tầng áp dụng được viết như một lõi, nhiều mô-đun khác có thể được đưavào để tạo cấu hình được chọn của kiến trúc Odoo
Cốt lõi của kiến trúc Odoo và các mô-đun của nó được viết bằng Python Tínhthực tiễn của một mô-đun được thể hiện thông qua XML-RPC (và / hoặc NET-RPC đặt cược vào cấu hình của máy chủ) Các mô-đun thường xây dựng việc sửdụng ORM của Odoo để duy trì kiến thức của chúng trong một dịch vụ thôngtin điện tử (PostgreSQL) Các mô-đun sẽ chèn kiến thức vào thông tin trongsuốt quá trình cài đặt bằng cách cung cấp các tệp XML, CSV hoặc YML.Một hệ thống Open ERP được cấu tạo từ 3 thành phần chính:
- PostgreSQL database server, chứa toàn bộ cơ sở dữ liệu,
trong đó có hầu hết các dữ liệu và cấu hình của hệ thống
- Open ERP application server, chứa các thuật toán và đảo
bảo Open ERP vận hành hiệu quả nhất
- Web server, một ứng dụng riêng, được gọi là Open Object
client-web, cho phép bạn kết nối đến Open ERP từ một
trình duyệt web thông thường mà không cài GTK Client
Kiến trúc của Odoo:
Trang 28Server ?
Odoo cung cấp một máy chủ điều hành liên kết trên các
ứng dụng kinh doanh cụ thể có thể được thiết kế, với các tùy
chọn nổi bật là ORM linh hoạt, thiết kế MVC liên kết trong điều
hành, các mô hình và chế độ xem theo từng phần, các công cụ
báo cáo hoàn toàn riêng biệt, tất cả đều gắn liền với nhau trong
một khuôn khổ kết nối, có thể truy cập mạng Server tương tác
với Client thông qua giao thức XML –RPC
Client ?
Odoo cung cấp cho người dùng một giao diện dễ dàng
thao tác và sử dụng Khi người dùng thực hiện một hành động
(lưu biểu mẫu, mở menu, in, ) Client sẽ gửi hành động này đến
Server Sau đó Server sẽ gửi hành động mới để thực thi cho
Client.Client sẽ lấy dữ liệu (forms, lists, trees) từ Odoo Server thông quagiao thức XML-RPC và gửi chúng lại cho ngời dùng.Với cách tiếp cận này, gầnnhư tất cả các thay đổi, phát triển đều được thực hiện ở phía Server, điều nàygiúp Odoo trở nên dễ dàng hơn trong việc thay đổi và bảo trì
Không những thế Odoo còn phát triển 2 phiên bản (Offline cho desktop vàOnline trên web) để đáp ứng nhu cầu sử dụng của người sử dụng
b
Cơ sở dữ liệu của Odoo
Odoo một cơ sở dữ liệu với đầy đủ các công cụ để tạo, sao chép, xóa, sao
lưu và khôi phục cơ sở dữ liệu Ngoài ra người dùng còn có thể thay đổi mật
Trang 29khẩu chính được sử dụng để bảo vệ quyền truy cập vào giao diện quản lý cơ sở
dữ liệu
Phần mềm ODOO sử dụng PostgreSQL database server để chứa
toàn bộ dữ liệu và cấu hình của hệ thống, bao gồm tất cả công cụ,
phương thức quản lí tiêu chuẩn của một cơ sở dữ liệu nhưng Odoo cũng đề xuấtmột giao diện web để đáp ứng thêm nhu cầu của người sử dụng
PostgreSQL là gì?
PostgreSQL là một hệ thống cơ sở dữ liệu quan hệ đối tượng mã nguồn mởmạnh mẽ, sử dụng và mở rộng ngôn ngữ SQL kết hợp với nhiều tính năng giúplưu trữ và chia tỷ lệ một cách an toàn các khối lượng công việc dữ liệu phức tạpnhất Nguồn gốc của PostgreSQL có từ năm 1986 như một phần của dự ánPOSTGRES tại Đại học California ở Berkeley và đã có hơn 30 năm phát triểntích cực trên nền tảng cốt lõi
Postgres là hệ quản trị cơ sở dữ liệu đầu tiên thực hiện điều khiển đồng thờinhiều phiên bản (MVCC) ngay cả trước oracle Đây là hệ thống cơ sở dữ liệutiên tiến nhất và cơ sở dữ liệu được khuyến khích sử dụng đặc biệt cho những tổchức thích sử dụng phần mềm miễn phí và phần mềm mã nguồn mở nhưOdoo
Tại sao PostgreSQL được dùng cho Odoo?
Nếu chúng ta muốn một trang web hoặc ứng dụng nhỏ có phần phụ trợ cơ sở
dữ liệu, thường thì mySQL sẽ là tùy chọn Nhưng đối với một DBMS doanhnghiệp, Postgres là tốt hơn
PostgreSQL đi kèm với nhiều tính năng nhằm giúp các nhà phát triển
xây dựng ứng dụng, quản trị viên để bảo vệ tính toàn vẹn của dữ liệu vàxây dựng môi trường chịu lỗi, đồng thời giúp bạn quản lý dữ liệu củamình bất kể tập dữ liệu lớn hay nhỏ Không nhưng thế PostgreSQL cómột số lợi thế so với hệ thống cơ sở dữ liệu khác.Cụ thể như là:
Mã nguồn mở: PostgreSQL là một mã nguồn mở và có thể tùy chỉnh
theo nhu cầu của người sử dụng Khả năng tùy biến rất là hữu ích trongcác ứng dụng quy mô lớn
Cộng đồng nhà phát triển lớn:PostgreSQL đã có mặt trên thịtrường hơn 15 năm và cộng đồng các nhà phát triển của nó đã phát triển
Trang 30rất nhiều vào thời điểm này Cộng đồng nhà phát triển lớn có nghĩa là hỗtrợ tốt và giúp giải quyết các vấn đề liên quan đến cơ sở dữ liệu.
Tiết kiệm chi phí: PostgreSQL không yêu cầu bảo trì quá nhiều vì nó có
tính ổn định cao Do đó, nếu bạn phát triển các ứng dụng dựa trênPostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản lý dữliệu khác
Độ tương thích cao: PostgreSQL có thể tương thích với hầu hết các nền
tảng và ngôn ngữ lập trình Vì vậy, PostgreSQL là một cơ sở dữ liệu lýtưởng cho việc nhắm mục tiêu ứng dụng trên nhiều nền tảng
Có khả năng mở rộng cao: PostgreSQL cũng có khả năng mở
rộng tuyệt vời Do đó bạn có thể định nghĩa các kiểu dữ
liệu riêng của bạn, xây dựng các hàm tùy chỉnh, hay viết
mã từ các ngôn ngữ lập trình khác nhau mà không cần
biên dịch lại cơ sở dữ liệu
Độ tin cậy và tính ổn định cao: Không giống như các hệ thống cơ sở dữ
liệu khác, cơ hội xảy ra sự cố trong PostgreSQL là ít khi xảy ra và ngay
cả khi có gặp sự cố, vẫn có những cách và tính năng mà bạn có thể khôiphục lại dữ liệu đã mất
2 Quy trình phát triển module trong ODOO.
a Quy trình phát triển module Offline
Các thành phần của Odoo Addon Module:
- Business objects: Các đối tượng nghiệp vụ, được khai báo
dưới dạng 1 Python Class
- Data files: Các file xml chứa dữ liệu
- Web controllers: Kiểm soát, xử lý các request từ web
browser
- Static web data: Các thành phần tĩnh tạo nên giao diện
website: JS, CSS, Images…
Tạo Odoo Addon Module
Odoo cho phép ta tạo 1 module cơ bản sử dụng subcommad là
scaffold, cú pháp tạo module như bên dưới:
Trang 31Tạo module books ở trong thư mục myaddons:
Sau khi chạy command trên, nó sẽ tạo ra 1 module mới với cấutrúc thư mục như sau:
Để chính sửa thông tin của addon module, sửa file mainifest .py
Trang 32Vì thư mục myaddons là thư mục vừa tạo ra, nên cần cấu hình
để odoo nhận thư mục này Sửa file odoo.conf và thêm thư mụcnày vào
Sau đó khởi động lại odoo-bin
Cài đặt Odoo Addon Module:
Sau khi đã tạo ra Odoo Addon Module và đưa nó vào odoo,chúng ta tiến hành cài đặt module trên Odoo như sau:
Đầu tiên cần bật chế độ Developer Mode, các bạn truy cập tớimục [Settings] -> Chọn “Activate the developer mode”.