2. MỤC TIÊU ĐỀ TÀI
2.3.1 Quản lý người dùng
2.3.1.1Tạo người dùng
Sơ đồ luồng nghiệp vụ Mô tả dữ liệu
D1: Thông tin người dùng (Họ tên, mã nhân viên, mật khẩu, số điện thoại, mã công ty, mật khẩu mặc định)
D3: Danh sách người dùng hiện tại đã có trong hệ thống
D4: D1
D6: Thông báo trạng thái thực hiện hành động:
-Dữ liệu đăng ký chưa đủ -Dữ liệu không chính xác -Đăng ký thành công
Thuật toán B1: Hiển thị biểu mẩu đăng ký người dùng
B2: Nhận dữ liệu D1 từ phía người dùng
B3: Kiểm tra sự đầy đủ của dữ liệu: Dữ liệu đúng là:
+ Mã doanh nghiệp không được rỗng + Tên nhân viên không được rỗng + Mã nhân viên không được rỗng + Mật khẩu không được rỗng
➢ Nếu hợp lệ: Xuống bước B4
➢ Nếu không hợp lệ: Thông báo cho người dùng. Quay lại bước 1
B4: Mở kết nối CSDL
B5: Lấy danh sách người dùng hiện tại trong hệ thống
B6: Đóng kết nối CSDL
B7: Kiểm tra xem có tồn tại người dùng có cùng mã nhân viên và mã doanh nghiệp hay không?
➢ Nếu không tồn tại: Xuống bước B8.
➢ Nếu tồn tại tài khoản: Thông báo đến người dùng. Quay lại bước B1
B9: Mã hóa mật khẩu thành MD5
B10: Mở kết nối CSDL
B11: Thêm người dùng vào hệ thống
B12: Đóng kết nối CSDL D1 D3 D6 D4 Người dùng USER_SYSTEM Tạo người dùng
37
B13: Thông báo người dùng đăng ký thành công và kết thúc.
2.3.1.2 Xem thông tin người dùng
Sơ đồ luồng nghiệp vụ Mô tả dữ liệu
D1: Mã công ty, Mã nhân viên,
D3: Danh sách người dùng đúng với mã công ty, mã nhân viên mà người dùng yêu cầu.
D6: Thông tin cơ bản của nhân viên và quyền hạn của người dùng đối với các tổ chức.
Thuật toán B1: Lấy mã công ty, mã nhân viên.
B2: Mở kết nối CSDL
B3: Lấy danh sách nhân viên có trong hệ thống phù hợp điều kiện mã nhân viên và mã công ty trong bảng User_System kết với bảnb Company với điều kiện cùng mã công ty, kết với bảng User_Right với điều kiện cùng mã nhân viên.
B4: Đóng kết nối CSDL
B5: Kiểm tra người dùng có tìm thấy hay không? (Có tồn tại người dùng)
➢ Có tồn tại: Chuyển xuống bước 6
➢ Không tồn tại: Thông báo không tìm thấy thông tin người dùng. Chuyển xuống bước 7.
B6: Hiển thị thông tin người dùng cơ bản. Và danh sách các tổ chức doanh nghiệp mà người dùng có quyền truy cập
B7: Kết thúc D1 D3 D6 Người dùng USER_SYSTEM, COMPANY, USER_RIGHT
Xem thông tin người dùng
38
2.3.1.3 Chỉnh sửa thông tin người dùng
Sơ đồ luồng nghiệp vụ Mô tả dữ liệu
D1: Mã người dùng, Mã nhân viên, mã công ty
D3: Thông tin nhân viên (Mã nhân viên, tên nhân viên , tên công ty, mã công ty, số điện thoại)
D4: Mã người dùng , mã nhân viên, mã công ty, số điện thoại
D6: Thông báo thành công hay thất bại do lỗi.
Thuật toán
B1: Lấy mã người dùng, mã nhân viên, mã công ty từ phía người dùng
B2: Mở kết nối CSDL
B3: Lấy thông tin của nhân viên.
B4: Đóng kết nối CSDL
B5: Hiển thị thông tin người dùng cho phép chỉnh sửa cho người dùng
B6: Lấy thông tin chỉnh sửa mới nhất từ người dùng.
B7: Kiểm tra sự đầy đủ của dữ liệu: Dữ liệu đúng là:
+ Mã doanh nghiệp không được rỗng + Tên nhân viên không được rỗng + Mã nhân viên không được rỗng + Mật khẩu không được rỗng
➢ Nếu hợp lệ: Xuống bước B9
➢ Nếu không hợp lệ: Thông báo cho người dùng. Quay lại bước 6
B9: Mở kết nối CSDL
B10: Cập nhật thông tin người dùng vào CSDL
B11: Đóng kết nối CSDL
B12: Thông báo kết quả cho người dùng.
D1 D3 D6 D4 Người dùng USER_SYSTEM, COMPANY Chỉnh sửa thông tin người dùng
39
2.3.1.4 Xóa người dùng
Sơ đồ luồng nghiệp vụ Mô tả dữ liệu
D1: Mã người dùng, mã nhân viên, mã công ty
D3: Thông tin nhân viên (Mã nhân viên, tên nhân viên , tên công ty, mã công ty, số điện thoại)
D4: D3, Cờ xóa
D6: Thông báo thành công hay thất bại.
Thuật toán
B1: Lấy mã người dùng, Mã nhân viên, mã công ty từ phía người dùng
B2: Mở kết nối CSDL
B3: Cập nhật cờ DELETE_FG =1 với người dùng này
B4: Đóng kết nối CSDL
B5: Thông báo kết quả thành công hay thất bại
2.3.1.5 Đặt lại mật khẩu cho người dùng
Sơ đồ luồng nghiệp vụ Mô tả dữ liệu
D1: Mã người dùng, Mã nhân viên, mã công ty.
D3: Thông tin nhân viên (Mã nhân viên, tên nhân viên , tên công ty, mã công ty, số điện thoại)
D4: D1, mật khẩu mặc định
D6: Thông báo người dùng thành công hay thất bại.
Thuật toán
B1: Lấy mã người dùng, mã nhân viên, mã công ty, mật khẩu mặt định
B2: Mở kết nối CSDL
B3: Cập nhật mật khẩu mặc định và xóa mật khẩu hiện tại của người dùng.
B4: Đóng kết nối CSDL
B5: Thông báo người dùng thành công hay thất bại D1 D3 D6 D4 Người dùng USER_SYSTEM Xóa người dùng D1 D3 D6 D4 Người dùng USER_SYSTEM Đặt lại mật khẩu
40
2.3.1.6 Phân quyền người dùng
Sơ đồ luồng nghiệp vụ Mô tả dữ liệu
D1: Mã nhân viên, mã công ty, giá trị phân quyền tương ứng với các nghiệp vụ Thêm, Sửa, Xóa, Xuất, Nhập.
D3: Mã nhân viên, Mã công ty, Mã nghiệp vụ hiện tại của người dùng.
D4: Mã nhân viên, mã công ty, giá trị phân quyền tương ứng với các nghiệp vụ Thêm, Sửa, Xóa, Xuất, Nhập.
D6: Thông báo việc cập nhật phân quyền của người dùng với nghiệp vụ thành công hay thất bại.
Thuật toán
B1: Lấy mã người dùng, mã công ty, giá trị các quyền ứng với nghiệp vụ
R_CREATE, R_UPDATE, R_DELETE, R_EXPORT, R_IMPORT, và mã nghiệp vụ. Đưa vào danh sách quyền hạn cập nhật (DSQHCN)
B2: Mở kết nối kiểm tra CSDL
B3: Lấy danh sách (SDQH) quyền của người dùng đối vời nghiệp vụ, ứng với công ty này.
B4: Đóng kết nối CSDL
B5: Ứng với mỗi nghiệp vụ. Kiểm tra xem có tồn tại trong SDQH hay không?
➢ Nếu có:
- Mở kết nối CSDL
- Cập nhật giá trị quyền hạn vào bảng USER_ROLE_MAPPING - Đóng kết nối CSDL
➢ Nếu không:
- Mở kết nối CSDL
- Thêm quyền hạn của người dùng đối với nghiệp vụ ứng với công ty này vào bảng USER_ROLE_MAPPING
B6: Kiểm tra xem đã đến phần tử cuối cùng của DSQHCN chưa:
➢ Nếu đã là phần tử cuối chuyển sản bước 7.
➢ Nếu vẫn còn các giá trị sau thì chuyển lại bước 5.
B7: Thông báo phía người dùng và kết thúc.
D1 D3 D6 D4 Người dùng USER_SYSTEM, COMPANY, USER_ROLE_MAPPING, SERVICE Phân quyền người dùng
41