Cài đặt BACKEND:

Một phần của tài liệu NIÊN LUẬN cơ sở NGÀNH NGÀNH CÔNG NGHỆ THÔNG TIN đề tài ỨNG DỤNG QUẢN lý PHÒNG KHÁM tư NHÂN (Trang 39)

3.1. Khởi tạo cấu trúc thư mục source code:

3.1.1. Cài đặt thư mục Images:

Đây là thư mục chứa các tệp hình ảnh sử dụng cho việc tạo giao diện ứng dụng.

3.1.2. Cài đặt thư mục Libraries:

Đây là thư mục chứa các thư viện cần thiết cho việc tạo và chạy ứng dụng.

3.1.3. Cài đặt thư mục ClinicManagementSystem:

♦ Sử dụng Java Swing và các thành phần của Java Swing để tạo các giao diện của ứng dụng:

Panel JCalendar JDateChooser Button

Label Spinner Toggle Button Check Box

Radio Button Combo Box Text Field Text Area

Password Field Text Pane Table Frame

Bảng 9: Đối tượng sử dụng tạo GUI

3.1.4. Cài đặt thư mục Model:

Đây là thư mục chứa các lớp ứng với các bảng được tạo trong cơ sở dữ liệu, mỗi lớp sẽ gồm tất cả các thuộc tính và hàm lấy, nhập dữ liệu cho đối tượng.

3.1.5. Cài đặt thư mục Function:

Đây là thư mục gồm các lớp mang vai trò cung cấp các hàm hỗ trợ thực hiện chức năng của giao diện liên quan đến đối tượng cụ thể như tạo kết nối với MySQL, thực hiện truy vấn (lấy, cập nhật dữ liệu) với MySQL và các chức năng được sử dụng với mỗi bảng trong cơ sở dữ liệu.

3.2. Cài đặt kết nối và truy xuất dữ liệu với cơ sở dữ liệu MySQL:3.2.1. Cài đặt kết nối MySQL: 3.2.1. Cài đặt kết nối MySQL:

Để kết nối ta cần phải tạo class ConnectionSql trong thư mục Function và import các thư viện của java.sql:

Sử dụng “Class.forName(“com.mysql.jdbc.Driver”)” để chỉ dẫn cho Java biết sẽ kết nối với loại database MySQL.

Sử dụng “DriverManager.getConnection” để tạo một kết nối đến cơ sở dữ liệu MySQL với database có url = jdbc:mysql://localhost:3306/clinic, username = “root ” và password = “”.

3.2.2. Cài đặt truy xuất tới MySQL:

Khi đã tạo lớp ConnectionSql ta có thể gọi hàm Connection để kết nối đến cơ sở dữ liệu. Ta cần tạo ra một lớp DbOperation chứa hai hàm là setDataOrDelete (Cập nhật, xóa dữ liệu) và getData (lấy dữ liệu về).

Hàm setDataOrDelete nhận hai đối số là Query và msg, Query chứa code truy vấn tới MySQl và msg chứa chuỗi trả về nếu thành cơng.

Hàm getData có giá trị trả về là ResultSet nhận một đối số là Query chứa code truy vấn. Hàm sẽ trả về dữ liệu nếu truy vấn thành công.

3.3. Cài đặt BACKEND cho giao diện đăng nhập:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Combo box cbxType Chọn kiểu người dùng

Text txtEmail Nhận email

Text txtPass Nhận mật khẩu

Check box checkbox Chọn hiển thị, che mật khẩu

Button btnClear Reset giao diện

Button btnSignUP Chuyển giao diện đăng ký

Button btnForgot Chuyển giao diện quên mật

khẩu

Button btnLogin Đăng nhập

Button btnExit Thoát Ứng dụng

Dùng setText() đặt giá trị mặt định cho email và pass là rỗng và setEnabled() đặt nút Login không nháy chuột được.

♦ Cài đặt chức năng nút Exit:

Dùng showConfirmDialog hiển thị hộp thoại lựa chọn có hoặc khơng, nếu chọn có, chương trình sẽ thốt:

♦ Cài đặt chức năng nút Forgot:

Dùng setVisible(false) để thoát frame hiện tại, và new ForgotPassword():

♦ Cài đặt chức năng nút SignUP:

♦ Cài đặt chức năng kiểm tra dữ liệu nhập vào gồm email, password:

Sử dụng matches để check email hợp lệ và kiểm tra password rỗng.

♦ Cài đặt chức năng nút login:

Đầu tiên ta phải tạo hàm đăng nhập tại 3 lớp FunctionAdmin, FunctionDoctor và FunctionPatient:

Tiếp theo, tại chức năng của login ta sẽ lấy kiểu người dùng, email và password khi người dùng bấm nút đăng nhập.

Tùy vào loại người dùng mà ta gọi hàm login, nếu đúng sẽ mở giao diện chính:

3.4. Cài đặt BACKEND cho giao diện đăng ký:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Combo box cbxType Chọn kiểu người dùng

Text txtName Nhận tên

JDateChooser jdcDOB Nhận ngày sinh

Combo box cbxGender Nhận Giới tính

Text txtAddress Nhận địa chỉ

Text txtPhone Nhận số điện thoại

Text txtEmail Nhận email

Text txtQuest Nhận câu hỏi bảo mật

Text txtAnswer Nhận câu trả lời

Text txtCertificate Nhận bằng cấp

Text txtSpecialist Nhận chuyên ngành

Combo box cbxBlood Nhận loại máu

Button btnClear Reset trang

Button btnSignUP Đăng ký

Button btnLogin Chuyển giao diện đăng

nhập

♦ Cài đặt chức năng nút Clear:

♦ Cài đặt chức năng nút Login:

♦ Cài đặt chức năng nút SignUP:

Đầu tiên ta phải tạo hàm đăng ký tại 2 lớp FunctionDoctor và FunctionPatient:

Tiếp theo, tại chức năng SignUP, ta sẽ lấy giá trị của combo box type để kiểm tra xem người dùng đăng ký loại user nào. Tùy thuộc loại user mà ta sẽ lấy dữ liệu phù hợp theo từng bảng và gọi hàm Register để đăng ký.

3.5. Cài đặt BACKEND cho giao diện đổi mật khẩu:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Combo box cbxType Chọn kiểu người dùng

Text txtEmail Nhận email

Text txtQuestion Nhận câu hỏi bảo mật

Text txtNewPassword Nhận mật khẩu mới

Button btnSearch Tìm Câu hỏi bảo mật theo

email

Button btnClear Reset trang

Button btnUpdate Đổi mật khẩu người dùng

♦ Cài đặt chức năng nút Clear:

♦ Cài đặt chức năng nút Search:

Lấy email và loại người dùng đã chọn để tìm kiếm câu hỏi bảo mật trong cơ sở dữ liệu. Nếu tìm khơng thấy sẽ hiện thơng báo email hoặc chọn sai loại người dùng. Nếu tìm thấy sẽ gán câu hỏi vừa tìm được vào textQuestion.

♦ Cài đặt chức năng nút Update:

Lấy câu trả lời cho câu hỏi bảo mật và mật khẩu mới. Kiểm tra xem câu trả lời đúng không, nếu đúng sẽ cập nhật mật khẩu mới, nếu không sẽ hiện thông báo câu trả lời không hợp lệ.

3.6. Cài đặt BACKEND cho giao diện thay đổi thông tin của Admin:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Combo box txtName Nhận tên

JDateChooser jdcDOB Nhận ngày sinh

Combo box cbxGender Nhận giới tính

Text txtAddress Nhận địa chỉ

Text txtPhone Nhận số điện thoại

Text txtPass Nhận mật khẩu

Text txtQuest Nhận câu hỏi bảo mật

Text txtAnswer Nhân câu trả lời

Button btnReset Reset trang

Button btnUpdate Câp nhật thông tin

♦ Cài đặt chức năng nút Update:

Để cập nhật thông tin người dùng Admin ta cần tạo hàm Update:

Tiếp tục, ta lấy dữ liệu và gọi hàm Updateđể cập nhật thông tin người dùng:

3.7. Cài đặt BACKEND cho giao diện quản lý bác sĩ:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Text txtID Nhận ID

Text txtName Nhận tên

JDateChooser jdcDOB Nhận ngày sinh

Combo box cbxGender Nhận giới tính

Text txtPhone Nhận số điện thoại

Text txtEmail Nhận email

Text txtPass Nhận mật khẩu

Text txtQuest Nhận câu hỏi bảo mật

Text txtAnswer Nhân câu trả lời

Text txtCertificate Nhận bằng cấp

Text txtSpecialist Nhận chuyên ngành

Table tbShowList Bảng hiển thị danh sách bác

Button btnAdd Thêm bác sĩ

Button btnUpdate Cập nhật thơng tin bác sĩ

Button btnDelete Xóa bác sĩ

Button btnClear Reset trang

Button btnCreateRequest Chuyển giao diện duyệt thông tin bác sĩ

♦ Cài đặt chức năng nút CreateRequest, chuyển hướng giao diện yêu cầu đăng ký:

♦ Cài đặt chức năng hiển thị danh sách bác sĩ khi giao diện được khởi tạo:

Đầu tiên để hiển thị danh sách bác sĩ ta cần tạo hàm GetAllRecords trong lớp FunctionDoctor:

Tiếp theo ta sẽ sử dụng lớp DefaultTableModel của java để lấy mơ hình bảng bác sĩ, sử dụng hàm GetAllRecords để lấy danh sách bác sĩ và sử dụng hàm addrow của lớp DefaultTableModel để thêm vào bảng.

♦ Cài đặt chức năng hiển thị thông tin bác sĩ khi nháy chuột vào bảng bác sĩ: Để hiển thị thông tin bác sĩ cụ thể ta cần tạo hàm tìm kiếm theo id bác sĩ:

Tiếp theo, ta dùng hàm getSelectedRow() của đối tượng tbShowList để lấy số thứ tự của hàng đã chọn và dùng getValueAt() để lấy id của bác sĩ, cuối cùng ta chỉ cần gọi hàm SearchForID và gán giá trị của thông tin bác sĩ và các thành phần:

♦ Cài đặt chức năng Add, thêm bác sĩ:

Đầu tiên, tạo hàm Add trong lớp FunctionDoctor:

Tiếp theo, lấy các giá trị trong các thành phần và gọi hàm này để thêm bác sĩ:

♦ Cài đặt chức năng Delete, xóa thơng tin bác sĩ: Tạo hàm Delete trong lớp FunctionDoctor:

Tiếp theo, lấy giá trị ID bác sĩ của trường txtID và chạy hàm Delete để xóa bác sĩ:

3.8. Cài đặt BACKEND cho giao diện duyệt đơn đăng ký tài khoản của bác sĩ:

♦ Cài đặt chức năng hiển thị thông tin bác sĩ đăng ký khi khởi tạo giao diện:

Tạo hàm GetAllRequests trong lớp FunctionDoctor để lấy thông tin bác sĩ đăng ký:

Tiếp theo, sử dụng lớp DefaultTableModel của java để lấy mơ hình bảng bác sĩ, sử dụng hàm GetAllRequests để lấy danh sách bác sĩ và sử dụng hàm addrow của lớp DefaultTableModel để thêm vào bảng.

♦ Cài đặt chức năng cho phép đơn đăng ký:

Ta sử dụng lại hàm SearchForID, gán trạng thái là true và cập nhật thông tin bác sĩ bằng hàm update:

3.9. Cài đặt BACKEND cho giao diện quản lý bệnh nhân:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Text txtID Nhận ID

Text txtName Nhận tên

JDateChooser jdcDOB Nhận ngày sinh

Combo box cbxGender Nhận giới tính

Text txtAddress Nhận địa chỉ

Text txtPhone Nhận số điện thoại

Text txtEmail Nhận email

Text txtPass Nhận mật khẩu

Text txtQuest Nhận câu hỏi bảo mật

Text txtAnswer Nhân câu trả lời

Combo box cbxBlood Nhận nhóm máu

Table tbShowList Bảng hiển thị danh sách

bệnh nhân

Button btnAdd Thêm bệnh nhân

Button btnUpdate Cập nhật thông tin bệnh

nhân

Button btnDelete Xóa bệnh nhân

Button btnCreateRequest Chuyển giao diện duyệt thông tin bệnh nhân

♦ Cài đặt chức năng hiển thị danh sách bệnh nhân khi giao diện được khởi tạo: Đầu tiên để hiển thị danh sách bệnh nhân ta cần tạo hàm GetAllRecords trong lớp FunctionPatient.

Tiếp theo ta sẽ sử dụng lớp DefaultTableModel của java để lấy mơ hình bảng bệnh nhân, sử dụng hàm GetAllRecords để lấy danh sách bệnh nhân và sử dụng hàm addrow của lớp DefaultTableModel để thêm vào bảng.

♦ Cài đặt chức năng hiển thị thông tin bác sĩ khi nháy chuột vào bảng bệnh nhân: Để hiển thị thơng tin bệnh nhân ta cần tạo hàm tìm kiếm theo id bệnh nhân: Tiếp theo, ta chỉ cần gọi hàm SearchForID và gán giá trị của thông tin bệnh nhân và các thành phần:

♦ Cài đặt chức năng Add, thêm bệnh nhân:

Đầu tiên, tạo hàm Add trong lớp FunctionPatient. Tiếp theo, lấy các giá trị trong các thành phần và gọi hàm này để thêm bệnh nhân:

♦ Cài đặt chức năng Update, cập nhật thông tin bệnh nhân: Sử dụng hàm Update trong FunctionPatient.

♦ Cài đặt chức năng Delete, xóa thơng tin bệnh nhân:

Tạo hàm Delete trong lớp FunctionPatient. Tiếp theo, lấy giá trị ID patient của trường txtID và chạy hàm Delete để xóa bệnh nhân.

3.10. Cài đặt BACKEND cho giao diện duyệt đơn đăng ký tài khoản của bệnhnhân: nhân:

♦ Cài đặt chức năng hiển thị thông tin bệnh nhân đăng ký khi khởi tạo giao diện: Tạo hàm GetAllRequests trong lớp FunctionPatient để lấy thông tin bệnh nhân đăng ký:

Tiếp theo, sử dụng lớp DefaultTableModel của java để lấy mơ hình bảng bệnh nhân, sử dụng hàm GetAllRequests để lấy danh sách bệnh nhân và sử dụng hàm addrow của lớp DefaultTableModel để thêm vào bảng:

♦ Cài đặt chức năng cho phép đơn đăng ký:

Ta sử dụng lại hàm SearchForID, gán trạng thái là true và cập nhật thông tin bệnh nhân bằng hàm update:

3.11. Cài đặt BACKEND cho giao diện quản lý lịch rảnh bác sĩ của admin :

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Text txtID Nhận ID lịch rảnh

Combo box cbxDID Nhận ID bác sĩ

Text txtDname Hiển thị tên bác sĩ

Combo box cbxDate Nhận ngày nghỉ trong tuần

Combo box cbxStart Nhận thời gian bắt đầu

Combo box cbxFinish Nhận thời gian kết thúc

Table tbShowList Bảng hiển thị danh sách

lịch rảnh

Button btnAdd Thêm lịch rảnh

Button btnUpdate Cập nhật thơng tin lịch rảnh

Button btnDelete Xóa lịch rảnh

♦ Cài đặt chức năng hiển thị danh sách lịch rảnh khi giao diện được khởi tạo:

Đầu tiên tạo hàm GetAllRecords() trong lớp FunctionFreeSchedule. Tiếp theo sử dụng lớp DefaultTableModel để lấy model bảng, sử dụng hàm vừa tạo lấy danh sách lịch rảnh của tất cả bác sĩ, cuối cùng sử dụng addrow() để thêm dữ liệu vào từng dòng của bảng:

♦ Cài đặt chức năng hiển thị thông lịch rảnh khi người dùng admin nhấy vào hàng của danh sách lịch rảnh:

Tạo hàm SearchForID, dùng getSelectedRow() lấy vị trí hàng để lấy ID lịch rảnh, gán ID doctor cho cbxDID, loại bỏ những ngày trong tuần mà bác sĩ này đã chọn:

♦ Cài đặt chức năng thêm lịch rảnh:

Tạo hàm Add vào lớp FunctionFreeSchedule, lấy tất cả thông tin của lịch rảnh vào thực thi hàm Add:

♦ Cài đặt chức năng cập nhật lịch rảnh:

Tạo hàm Update vào lớp FunctionFreeSchedule, lấy tất cả thông tin của lịch rảnh vào thực thi hàm Update:

♦ Cài đặt chức năng xóa lịch rảnh:

Tạo hàm Delete vào lớp FunctionFreeSchedule, lấy tất cả thông tin của lịch rảnh vào thực thi hàm Delete:

3.12. Cài đặt BACKEND cho giao diện quản lý lịch khám của admin :

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Table tbShowList Bảng hiển thị danh sách

lịch khám

Table tbDoctor Bảng hiện thị danh sách bác

có lịch rảnh theo ngày và giờ

Text txtAppointID Hiển thị ID lịch khám

Text txtStatus Hiển thị trạng thái lịch

khám

Combo box cbxPID Danh sách bệnh nhân

Text txtPname Tên bệnh nhân khi chọn

Text txtGender Giới tính bệnh nhân khi

chọn

Text txtBlood Nhóm báo bệnh nhân khi

chọn

JDateChooser jdcDate Ngày khám bệnh

Combo box cbxStart Thời gian bắt đầu

Combo box cbxEnd Thời gian kết thúc

Button btnSearch Tìm kiếm các bác sĩ có lịch

rảnh phù hợp thời gian đã nhập

Text txtSymptom Triệu chứng

Text txtBackDisea Bệnh nền

Text txtDiagnose Chẩn đoán của bác sĩ

Button btnAdd Thêm lịch khám

Button btnUpdate Cập nhật lịch khám

Button btnDelete Xóa lịch khám

♦ Cài đặt chức năng hiển thị danh sách lịch khám khi giao diện được khởi tạo:

♦ Cài đặt chức năng hiển thị thông tin lịch khám khi người dùng admin nháy vào bảng lịch khám:

Lấy ID và truy xuất thông tin lịch khám:

Chuyển kiểu int của start và end trong cơ sở dữ liệu thành chuỗi:

Gán doctor ID và tìm tên doctor:

Thay đổi danh sách bác sĩ cho phù hợp với lịch rảnh đã chọn:

Cài đặt lại thứ tự người dùng trong cbxPID và gán trạng thái, triệu chứng, bệnh nền, chẩn đoán vào trường tương ứng:

♦ Cài đặt chức năng tìm danh sách bác sĩ có lịch rảnh phù hợp với yêu cầu: Đầu tiên, tạo hàm GetIDDoctorOnTime trong lớp FunctionAppointment:

Tiếp theo, lấy thông tin gồm ngày, thời gian bắt đầu, kết thúc và thực thi hàm vừa tạo rồi gán vào bảng tbDoctor:

♦ Cài đặt chức năng thêm lịch khám:

Tạo hàm Add trong lớp FunctionAppointment, lấy thông tin từ các trường và thực thi hàm Add:

♦ Cài đặt chức năng cập nhật lịch khám:

Tạo hàm Update trong lớp FunctionAppointment, lấy thông tin từ các trường và thực thi hàm Update:

♦ Cài đặt chức năng xóa lịch khám:

Tạo hàm Delete trong lớp FunctionAppointment, lấy thông tin từ các trường và thực thi hàm Delete:

3.13. Cài đặt BACKEND cho giao diện quản lý toa thuốc:

♦ Dữ liệu cần xử lý:

KiểuTên biếnMiêu tả

Table tbShowList Bảng hiển thị danh sách toa

thuốc

Text txtPID Hiển thị ID bệnh nhân

Text txtPname Hiển thị tên bệnh nhân

Text txtDID Hiển thị ID bác sĩ

Text txtDname Hiển thị tên bác sĩ

Button btnDelete Xóa toa thuốc

Button btnDetail Chuyển giao diện chi tiếc

toa thuốc ♦ Cài đặt chức năng hiển thị danh sách toa thuốc:

Đầu tiên, tạo hàm GetAllRecords(), tiếp theo gọi hàm và chèn thông tin vào bảng:

♦ Cài đặt chức năng hiển thị thông tin toa thuốc:

Dùng hàm SearchForID với Appointment ID để lấy ID bệnh nhân và bác sĩ, tiếp tục dùng SearchForID để lấy tên bệnh nhân và bác sĩ, gán các thông tin cần hiển thị:

♦ Cài đặt chức năng xóa toa thuốc:

Trước tiên ta cần tạo hàm Delete tại FunctionBill để xóa toa thuốc và hàm DeleteForBillID tại FunctionBillDetail để xóa chi tiết toa thuốc, cuối cùng vì đã xóa toa được kê nên thay đổi trạng thái lịch khám là chưa chẩn đoán bằng hàm

Một phần của tài liệu NIÊN LUẬN cơ sở NGÀNH NGÀNH CÔNG NGHỆ THÔNG TIN đề tài ỨNG DỤNG QUẢN lý PHÒNG KHÁM tư NHÂN (Trang 39)

Tải bản đầy đủ (PDF)

(96 trang)