Professional Documents
Culture Documents
Database design
invoice_mst
Fields
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
invoice_mst 0 PRIMARY 1 invoice_id A 0 (NULL) (NULL) BTREE
nendo_mst
Fields
Indexes
Table Non Key Seq Column Collation Cardinality Sub Packed Null Index Comment
unique name in name part type
index
nendo_mst 0 PRIMARY 1 nendo_id A 0 (NULL) (NULL) BTREE
Company Runsystem Corporation
Project Name Invoice Management System
Document Description Design Document for Invoice Management System
Creater Duong Anh Tra
Create Date October 27, 2008
Update Date October 30, 2008
Mô tả khái quát
Trang này được dùng để nhập mới invoice. Chỉ người dùng có quyền admin mới được phép
sử dụng chức năng này
Danh sách controls
Tên Loại Giá trị mặc định Độ dài max Bắt buộc Tên Loại Giá trị mặc định Độ dài max Bắt buộc
purpose CB "Other" ○ status CB "Not Send" ○
pur_desc TA ○ file_upload F
client CB "------------------" ○ currency CB "--------------" ○
inv_type CB ○ amount T 20 ○
cr_email T 80 ○ tax T 4 ○
iss_date_day T 2 ○ total_amount T 20 ○
iss_date_month T 2 ○
iss_date_year T 4 ○
dl_date_day T 2 ○
dl_date_month T 2 ○
dl_date_year T 4 ○
1. Hiển thị màn hình như hình vẽ. Các trường text đều được xóa trắng.
Thực hiện việc load dữ liệu vào các combox box.
+ Purpose: Default value là other, có id = 0, các trường còn lại name là tên các dự án, value là project_id
+ Client: Load toàn bộ các client hiện đang có trong hệ thống và sắp xếp theo id
+ Invoice Type: 0: Pay for client; 1: Receive from client
+ Status: 0: Not Send; 1: Not Payment; 2: Payment
+ Currency: Default value không có giá trị gì để người dùng bắt buộc phải nhập và phải chú ý đến trường này để tránh nhầm lẫn.
Database update detail
Các giá trị còn lại là 1:VND; 2: USD; 3:JPY
2. Purpose:
1. Upload file (nếu có) lên server. Nếu quá trình upload có lỗi, hiển thị lỗi và dừng việc insert dữ liệu vào data a. Nếu chọn Other thì phải thực hiện những việc sau:
+ Combobox Client phải set về trạng thái (----------) và người dùng bắt buộc phải chọn một client cho invoice này
2. Tiến hành insert các giá trị trên control vào bảng invoice_mst b. Nếu không chọn Other mà chọn một project đã có sẵn:
+ Hệ thống tự động chọn client ứng với project đã chọn và disable combobox này
Tên trường Giá trị
3. Creater's Email: Là địa chỉ email của người lập invoice. Thông tin này sẽ được chức năng nhắc nhở sử dụng để gửi email
invoice_id Tự động tăng cho người tạo invoice có thể theo dõi được trạng thái của invoice
purpose_id project_id của project đã được chọn 4.Người dùng nhập dữ liệu vào 2 ô Amount và Tax, hệ thống tự động tính Total Amount dựa theo công thức:
purpose_desc Purpose Description đã nhập Total Amount = Amount + Amount * Tax/100
client_id client_id của client đã được chọn Dựa vào Currency đã được lựa chọn và Total Amount đã tính ở trên, hiển thị giá trị của Total Amount lên màn hình
creater_email Creater's Email đã nhập 5. Người dùng bấm Add Invoice:
invoice_type Kiểu của invoice đã được chọn + Hệ thống kiểm tra tính hợp lệ của dữ liệu đã nhập. Xem thêm bảng validate data và hiển thị lỗi.
issue_date Issue Date đã nhập + Nếu có lỗi hiển thị message lỗi và không cho phép đi tiếp
payment_date Để trống + Nếu dữ liệu được kiểm tra hợp lệ tiến hành insert vào bảng invoice_mst trong database và chuyển sang màn hình Update Complete
deadline Deadline đã nhập (Xem thêm chi tiết về insert vào database)
status Status đã chọn 6. Người dùng bấm Clear: Xóa trắng các trường text và trả các combobox về giá trị default
invoice_file_pa Đường dẫn đến file invoice đã được upload lên server (nếu có)
amount Amount đã nhập Các trường hợp lỗi và message tương ứng
tax Tax đã nhập
total_amount Total Amount đã được tính toán STT Điều kiện Hành động Thông báo lỗi
currency_flg Currency đã chọn
1 Không nhập Purpose Description Nhấn Add Invoice Please input Purpose Description!
del_flg 0
create_date Ngày hiện tại Purpose là Other và không chọn
2 Nhấn Add Invoice Please select a Client!
update_date Để trống Client
3 Không nhập Issue Date Nhấn Add Invoice Please input Issue Date!
9 Không nhập Amount Nhấn Add Invoice Please input Amount number!
10 Amount nhập không đúng định dạng Nhấn Add Invoice Please input a correct Amount number!
11 Không nhập Tax Nhấn Add Invoice Please input Tax rate number!
12 Tax nhập không đúng định dạng Nhấn Add Invoice Please input a correct Tax number!
13 File upload có kích cỡ lớn hơn 4Mb Nhấn Add Invoice Upload File is too big!
Không có
Company Runsystem Corporation
Project Name Invoice Management System
Document Description Design Document for Invoice Management System
Creater Duong Anh Tra
Create Date October 30, 2008
Update Date October 30, 2008
Mô tả khái quát
Trang này được dùng để sửa các thông tin của invoice đã có. Người dùng cũng sử dụng chức năng này để cập nhật ngày payment của invoice.
Chỉ có admin mới được phép sử dụng chức năng này.
Danh sách controls
Tên Loại Giá trị mặc định Độ dài max Bắt buộc Tên Loại Giá trị mặc định Độ dài max Bắt buộc
purpose CB "Other" ○ status CB "Not Send" ○
pur_desc TA ○ file_upload F
client CB "------------------" ○ currency CB "--------------" ○
inv_type CB ○ amount T 20 ○
cr_email T 80 ○ tax T 4 ○
iss_date_day T 2 ○ total_amount T 20 ○
iss_date_month T 2 ○ pay_date_day T 2 ○
iss_date_year T 4 ○ pay_date_mon T 2 ○
dl_date_day T 2 ○ pay_date_year T 4 ○
dl_date_month T 2 ○
dl_date_year T 4 ○
1. Hiển thị màn hình như hình vẽ. Hiển thị các dữ liệu của invoice lên các control
Thực hiện việc load dữ liệu vào các combox box.
+ Purpose: load toàn bộ các dự án hiện có lên combobox. Selected value là dự án đã được lưu trong invoice
+ Client: Load toàn bộ các client hiện đang có trong hệ thống và selected value là client đã được lưu trong invoice
+ Invoice Type: load invoice type và selected value là giá trị đã được lưu trong invoice
+ Status: selected value là giá trị đã có trong invoice
+ Currency: selected value là giá trị đã có trong invoice
Database update detail
2. Purpose:
a. Nếu chọn Other thì phải thực hiện những việc sau:
1. Upload file (nếu có) lên server. Nếu quá trình upload có lỗi, hiển thị lỗi và dừng việc insert dữ liệu vào data + Combobox Client phải set về trạng thái (----------) và người dùng bắt buộc phải chọn một client cho invoice này
b. Nếu không chọn Other mà chọn một project đã có sẵn:
2. Tiến hành insert các giá trị trên control vào bảng invoice_mst + Hệ thống tự động chọn client ứng với project đã chọn và disable combobox này
3. Nếu invoice đã được thanh toán, nhập thông tin về ngày thanh toán vào Payment Date
Tên trường Giá trị
4. Creater's Email: Là địa chỉ email của người lập invoice. Thông tin này sẽ được chức năng nhắc nhở sử dụng để gửi email
invoice_id Giữ nguyên giá trị cũ cho người tạo invoice có thể theo dõi được trạng thái của invoice
purpose_id project_id của project đã được chọn 5.Người dùng nhập dữ liệu vào 2 ô Amount và Tax, hệ thống tự động tính Total Amount dựa theo công thức:
purpose_desc Purpose Description đã nhập Total Amount = Amount + Amount * Tax/100
client_id client_id của client đã được chọn Dựa vào Currency đã được lựa chọn và Total Amount đã tính ở trên, hiển thị giá trị của Total Amount lên màn hình
creater_email Creater's Email đã nhập 6. Người dùng bấm Edit Invoice:
invoice_type Kiểu của invoice đã được chọn + Hệ thống kiểm tra tính hợp lệ của dữ liệu đã nhập. Xem thêm bảng validate data và hiển thị lỗi.
issue_date Issue Date đã nhập + Nếu có lỗi hiển thị message lỗi và không cho phép đi tiếp
payment_date Nếu Payment Date được nhập, cập nhật giá trị này vào database, ngược lạ + Nếu dữ liệu được kiểm tra hợp lệ tiến hành update vào bảng invoice_mst trong database và chuyển sang màn hình Update Complete
deadline Deadline đã nhập (Xem thêm chi tiết về update vào database)
status Status đã chọn 7. Người dùng bấm Clear: Xóa trắng các trường text và trả các combobox về giá trị default
invoice_file_pa Đường dẫn đến file invoice đã được upload lên server (nếu có)
amount Amount đã nhập Các trường hợp lỗi và message tương ứng
tax Tax đã nhập
total_amount Total Amount đã được tính toán STT Điều kiện Hành động Thông báo lỗi
currency_flg Currency đã chọn
1 Không nhập Purpose Description Nhấn Add Invoice Please input Purpose Description!
del_flg Giữ nguyên giá trị cũ
create_date Giữ nguyên giá trị cũ Purpose là Other và không chọn
2 Nhấn Add Invoice Please select a Client!
update_date Ngày hiện tại Client
3 Không nhập Issue Date Nhấn Add Invoice Please input Issue Date!
11 Không nhập Amount Nhấn Add Invoice Please input Amount number!
12 Amount nhập không đúng định dạng Nhấn Add Invoice Please input a correct Amount number!
13 Không nhập Tax Nhấn Add Invoice Please input Tax rate number!
14 Tax nhập không đúng định dạng Nhấn Add Invoice Please input a correct Tax number!
15 File upload có kích cỡ lớn hơn 4Mb Nhấn Add Invoice Upload File is too big!
Không có