Luồng thêm hàng hóa

Một phần của tài liệu PHÂN TÍCH THIẾT kế hệ THỐNG CHO bài TOÁN“BÔ SUNG TÍNH NĂNG HÀNG HOÁ ở APP QUẢN LÝMSHOPKEEPER TRÊN điện THOẠI” (Trang 49)

Hình 4.6: Giao diện form các tính năng trong App quản lý

Khi đăng nhập vào hệ thống, vào phần hệ Khác, tại màn hình sẽ hiển thị Tính năng Hàng hóa. Nhấn vào hàng hóa hiển thị giao diện danh sách hàng hóa. Hiển thị DS hàng hóa đang quản lý tại cửa hàng, sắp xếp theo mã vạch, từ nhỏ đến lớn.

Hình 4.7: Giao diện form Danh sách hàng hóa

Các thông tin hiển thị trên Danh sách hàng hóa bao gồm: Mã SKU, Mã vạch, tên hàng hóa, nhóm hàng hóa, giá bán, giá mua, tồn kho, đơn vị tính, màu sắc, size và trạng thái của hàng hóa.

THÊM: Nhấn nút hiển thị giao diện Thêm Hàng hóa: Cho phép thiết lập các

Hình 4.8: Giao diện form Thêm hàng hóa

- Tại form Thêm hàng hóa, khi nhấn nút Lưu: Hệ thống sẽ thực hiện Lưu dữ liệu vào danh mục hàng hóa mà cửa hàng quản lý. Đồng thời quay lại màn hình

trước đó, hiển thị hàng hóa vừa thêm lên Danh sách hàng hóa và mặc định

trạng thái

Đang kinh doanh.

- Nhấn nút Thoát: Quay lại màn hình trước đó và không lưu dữ liệu.

SỬA: Nhấn sửa hiển thị form Thêm hàng hóa, các trường dữ liệu mặc định là

Hình 4.9: Form Sửa hàng hóa

- Nhấn Lưu: Thực hiện lưu thông tin vừa sửa, đóng form và quay lại màn hình Danh sách hàng hóa. Hàng hóa hiển thị lên danh sách với các thông tin mới nhất.

- Nhấn Thoát: Đóng form quay lại UI trước đó và không lưu dữ liệu gì.

XÓA: Nhấn chọn 1 hàng hóa sau đó nhấn xóa thì hiển thị Cảnh báo “Bạn có

muốn xóa không?”

Ngoài màn hình Danh sách hàng hóa có tham số lọc Trạng thái, cho phép lọc và xem hàng hóa theo các trạng thái: Đang kinh doanh/Ngừng kinh doanh/Tất cả (Mặc định: Tất cả). Khi chọn giá tri nào trong combo Trạng thái thì ở danh sách hàng hóa hiển thị cá giá trị thoan mãn điều kiện lọc.

Hình 4.11: Hình ảnh combo lọc trạng thái

THOÁT: Nhấn nút đóng form Danh sách hàng hóa và quay lại UI trước đó 4.1.3. Giao diện Đơn vị tính

Tại màn hình Hàng hóa, user có thể tiền hành thêm mới đươn vị tính của hàng hóa nếu đơn vị tính đó chưa được quản lý tại cửa hàng. Nhấn vào Đơn vị tính hiển thị màn hình Danh mục đơn vị tính.

Hình 4. 12: Giao diện form Đơn vị tính

THÊM: Cho phép user thêm mới đơn vị tính và Danh mục đơn vị tính mà cửa

hàng quản lý. Thông tin đơn vị tính bao gồm: Mã đơn vị tính, tên đơn vị tính và diễn giải (nếu có). Khi thêm thì check trùng.

Hình 4.13: Cảnh báo khi trùng mã đại lý

Nhấn OK để đóng thông báo và nhập lại mã ĐVT. Nhưng khi chưa Thêm mới xong và nhấn chọn một đơn vị tính khác tên danh mục thì hiển thị Thông báo “Đang ở chế độ thêm mới”.

Hình 4.14: Thông báo Đang ở chế độ thêm mới

Nếu đơn vị tính thêm vào không bị trùng thì khi nhấn Lưu sẽ tự động lưu dữ liệu vào danh mục đơn vị tính.

SỬA: Nhấn chọn đơn vị tính sau đó cho phép sửa thông tin của đơn vị tính đó.

Khi nhấn Lưu thì thực hiện lưu những thông tin vừa sửa. Khi chưa chọn ĐVT nào mà nhấn nút Sửa thì hiển thị Thông báo “Bạn chưa chọnbản ghi nào”. Khi không còn đơn vị tính nào trong danh mục mà nhấn sửa thì hiển thị thông báo “Không còn bản ghi nào”. Khi đã nhấn chọn 1 đơn vị tính để sửa mà user chưa nhập tên ĐVT đã nhấn Lưu thì hiển thị Thông báo “Bạn chưa nhập tên ĐVT”.

Hình 4.15: Form Thông báo chưa chọn bản ghi nào

XÓA: Nhấn chọn 1 đơn vị tính và xóa, hiên thị thông báo bạn có muốn xóa

không. Neu chưa chọn ĐVT nào thì hiển thị Thông báo “Bạn chưa chọn bản ghi nào”. Nếu trong danh mục ĐVT không còn dữ liệu mà user nhấn xóa thì hiển thị thông báo “Không còn dữ liệu”.

Hình 4.16: Form thông báo khi nhấn xóa đơn vị tính

ĐÓNG: Nhấn nút thực hiện đóng màn hình Danh mục đơn vị tính và quay lại

4.1.4. Giao diện Nhóm hàng hóa

Hình 4.17: Form Thêm nhóm hàng hóa

THÊM: Cho phép user thêm một nhóm hàng hóa mới chưa có trong danh

mục nhóm hàng hóa mà cửa hàng quản lý. Thông tin đơn vị tính bao gồm: Mã nhóm hàng hóa, Tên nhóm hàng hóa. Khi thêm thì check trùng.

Hình 4.18: Form Thông báo khi trùng mã nhóm hàng hóa

Nhấn OK để đóng thông báo và nhập lại mã nhóm hàng hóa. Nhưng khi chưa Thêm mới xong và nhấn chọn một nhóm hàng hóa khác tên danh mục thì hiển thị Thông báo “Đang ở chế độ thêm mới”.

SỬA: Nhấn chọn nhóm hàng hóa sau đó cho phép sửa thông tin tên nhóm

hàng hóa đó đó (Giữ nguyên mã nhóm hàng hóa). Khi nhấn Lưu thì thực hiện lưu những thông tin vừa sửa. Khi chưa chọn nhóm hàng hóa nào mà nhấn nút Sửa thì hiển thị Thông báo “Bạn chưa chọn bản ghi nào”. Khi không còn nhóm hàng hóa nào trong danh mục mà nhấn sửa thì hiển thị thông báo “Không còn bản ghi nào”. Khi đã nhấn chọn 1 nhóm hàng hóa để sửa mà user chưa nhập tên nhóm hàng hóa đã nhấn Lưu thì hiển thị Thông báo “Bạn chưa nhập tên nhóm hàng hóa”.

Hình 4.19: Thông báo khi chưa nhập tên nhóm hàng hóa

XÓA: Nhấn chọn 1 nhóm hàng hóa và xóa, hiên thị thông báo bạn có muốn

xóa không. Neu chưa chọn nhóm hàng hóa nào thì hiển thị Thông báo “Bạn chưa chọn bản ghi nào”. Nếu trong danh mục hàng hóa không còn dữ liệu mà user nhấn xóa thì hiển thị thông báo “Không còn dữ liệu”.

ĐÓNG: Nhấn nút thực hiện đóng màn hình Danh mục nhóm hàng hóa và

quay lại màn hình trước đó.

Khi thêm mới hàng hóa có thể chọn đơn vị tính và nhóm hàng hóa có sẵn trong danh mục mà cửa hàng quản lý

Hình 4.20: Lấy dữ liệu nhóm hàng hóa khi thêm mới hàng hóa

Các giá trị nhóm hàng hóa trong Danh mục nhóm hàng hóa sẽ được list ra và cho phép user chọn nhanh khi thêm hàng hóa.

Hình 4.21: Lấy dữ liệu Đơn vị tính khi thêm mới hàng

Các giá trị đơn vị tính trong Danh mục Đơn vị tính sẽ được list ra và cho phép user chọn nhanh khi thêm hàng hóa.

TỔNG KẾT

Khi khách hàng gửi yêu cầu về cho trang bảo trì của công ty, Nhân viên phân tích nghiệp vụ sẽ làm rõ đặc điểm khách hàng, câu chuyện nghiệp vụ, khó khăn và mong muốn của khách hàng. Sau khi làm rõ yêu cầu và khảo sát trên diện rộng khách hàng, các cấp lãnh đạo họp bàn để xem tính cấp thiết và khả thi của yêu cầu để cho yêu cầu vào vòng lặp tiến hành thi công. Khi đã đồng ý thi công thì nhân viên phân tích nghiệp vụ sẽ đưa giải pháp sơ bộ và trình lên cấp trên (bao gồm PDM, trưởng dự án, giám đốc kỹ thuật, giám đốc khối) để đánh giá giải pháp. Sau khi đã duyệt thì đưa giải pháp và thiết kế giao diện và mô tả chi tiết. Lập trình viên sẽ sử dụng tài liệu đầu vào và tạo ra sản phẩm. Các bên liên quan thường xuyên trao đổi để đảm bảo sản phẩm thống nhất. Đối với yêu cầu “Cho phép sửa hàng hóa ngay ở app quản lý trên điện thoại khi thêm sai/nhầm” đã được đáp ứng bởi giải pháp “Bổ sung thêm phân hệ hàng hóa ngay dưới phần Nhập hàng trên app quản lý”.

Như phân tích ở trên, giải pháp đã đáp ứng được nhu cầu thực tế của khách hàng và không ảnh hưởng đến tập khách hàng nói chung, không ảnh hưởng đến các tính năng đang có, khả thi về mặt kỹ thuật và không phức tạp giao diện.

Tóm lại để đưa ra được giải pháp cho một yêu cầu cụ thể cho khách hàng cần có lộ trình và giai đoạn rõ ràng, đảm bảo phân tích đúng nhu cầu nghiệp vụ thực tế và đề ra giải pháp tối ưu nhất.

PHỤ LỤC

private void btnDangnhap_Click(object sender, EventArgs e)

{ try

{

Functions .Connect();

string MaCH = txtMaCH.Text.Trim();

string tk = txtTaikhoan.Text.Trim();

string mk = txtMatkhau.Text.Trim();

string loi = string.Empty;

if (MaCH == string.Empty)

loi = "Bạn vui lòng nhập mã cửa hàng";

if (tk == string.Empty)

loi += "\n Bạn chưa nhập tài khoản";

if (mk == string.Empty)

loi += "\n Bạn chưa nhập mật khẩu";

if (loi != string.Empty)

{ MessageBox.Show("Error: " + loi);

return; }

Code kiểm tra thông tin đăng nhập.

string sql = "select * from tblDN where Macuahang='" + MaCH + "' and TaiKhoan='" + tk + "' and Mkhau='" + mk +....;

SqlDataReader dta = cmd.ExecuteReader();

if (dta.Read() == true) {

MessageBox.Show("Đăng nhập thành công", "Thông báo",

MessageBoxButtons.OK, MessageBoxIconTnformation);

Code thông báo đăng nhâp thành công.

this.Hide();

using (frmHanghoa1 frmhanghoa = new frmHanghoa1()) { frmhanghoa.ShowDialog(); } } else {

MessageBox.Show("Đăng nhập không thành công", "Thông báo",

MessageBoxButtons.OK, MessageBoxIconTnformation);

}

Code thông báo đăng nhập không thành công.

private void linkLabel1_LinkClicked(object sender,

LinkLabelLinkClickedEventArgs e)

{

using (frmDShanghoa frm = new frmDShanghoa()) {

frm.ShowDialog(); }

}

Code đóng form cũ để mở form mới

private void btnThoat_Click(object sender, EventArgs e) {

if (MessageBox.Show("Bạn chắc chắn muốn thoát?", "Xác nhận",

MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResultYes)

this.Hide(); }

Code thông báo có chắc chắc muốn thoát khỏi hệ thống.

private void btnXoa_Click(object sender, EventArgs e) { if (hangHoa != null)

{ if (MessageBox.Show("Bạn có muốn xóa không?", "Thông báo",

MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResultOK)

{

string sql = "DELETE tblHanghoa WHERE Mavach=N'" + hangHoa.Mavach + "' and MaSKU=N'" + hangHoa.MaSKU +....;

Class.Functions.RunSqlDel(sql); Load_dataGridView1 ();

} } }

Code có chắc chắn muốn xóa dữ liệu hay không.

sql = "SELECT MaDVT FROM tblDonvitinh WHERE MaDVT=N'" + txtMaDVT.Text.Trim() +...;

{

MessageBox.Show("Mã ĐVT này đã có, bạn phải nhập mã khác",

"Thông báo", MessageBoxButtons.OK, MessageBoxIcomWaming); txtMaDVT.F ocus();

txtMaDVT.Text = "";

return; }

Code check trùng dữ liệu.

private void btnSua_Click(object sender, EventArgs e) {

string sql;

if (tblDVT.Rows.Count == 0) {

MessageBox.Show("Không còn dữ liệu!", "Thông báo",

MessageBoxButtons.OK,MessageBoxIcon.Information);

return; }

if (txtMaDVT.Text == "") {

MessageBox.Show("Bạn chưa chọn bản ghi nào", "Thông

báo",MessageBoxButtons.OK, MessageBoxIconTnformation);

return; }

{ MessageBox.Show("Bạn phải nhập tên ĐVT", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

txtTenDVT. Focus();

return; }

Code check chọn dữ liệu hay chưa.

sql = "UPDATE tblDonvitinh SET TenDVT=N'" + txtTenDVT.Text.ToString() +

"' WHERE MaDVT=N'" + txtMaDVT.Text +....; Class.Functions.RunSql(sql);

Load_DataGridView(); ResetValues()

}

private void btnXoa_Click(object sender, EventArgs e) {

string sql;

if (tblDVT.Rows.Count == 0) {

MessageBox.Show("Không còn dữ liệu!", "Thông báo",

MessageBoxButtons.OK,MessageBoxIcon.Information);

return; }

if (txtMaDVT.Text == "") {

MessageBox.Show("Bạn chưa chọn bản ghi nào", "Thông báo",MessageBoxButtons.OK, MessageBoxIconTnformation);

return; }

if (MessageBox.Show("Bạn có muốn xóa không?", "Thông

báo",MessageBoxButtons.OKCancel, MessageBoxIcon.Question) ==

DialogResult.OK)

{

sql = "DELETE tblDonvitinh WHERE MaDVT=N'" + txtMaDVT.Text +...;

Class.Functions.RunS qlDel(sql); Load_DataGridView();

ResetValues(); }

}

Code thông báo có chắc chắn muốn xóa dữ liệu hay không.

private void frmThemhanghoa_Load(object sender, EventArgs e) {

txtMavach.Text = MaVach();

string sql = "select * from tblDonvitinh";

List<Unit> listUnit = Class.Functions.ListUnit(sql);

BindingList<Unit> listDVT = new BindingList<Unit>();

cboDVT.DisplayMember = "UnitName"; cboDVT.ValueMember = "UnitID";

{

foreach (var item in IistUnit) { listDVT.Add(item); } if (listDVT.Count > 0) { cboDVT.DataSource = listDVT; cboDVT.SelectedIndex = 0; } }

string sql1 = "select * from tblNhomHH";

List<NhomHH> listNhomHH = Class.Functions.ListNhomHH(sql1);

BindingList<NhomHH> listNHH = new BindingList<NhomHH>();

cboNhomhanghoa.DisplayMember = "TennhomHH"; cboNhomhanghoa.ValueMember = "ManhomHH";

if (listNhomHH != null && listNhomHH.Count > 0) {

foreach (var item in listNhomHH) { listNHH.Add(item); } if (listNHH.Count > 0) { cboNhomhanghoa.DataSource = listNHH; cboNhomhanghoa.SelectedIndex = 0; } }

Code lấy dữ liệu từ một bảng khác.

TÀI LIỆU THAM KHẢO

[1] Đỗ Lê Anh (2017), Tài liệu nội bộ Bí quyết phân tích nghiệp vụ của công ty cổ

phần MISA, NXB Công ty cổ phần MISA.

[2] Bùi Thị Hồng Nhung, Bài giảng Cơ sở dữ liệu, NXB Học viện Ngân hàng. [3] Bùi Thị Hồng Nhung (2017), Slide Cơ sở dữ liệu, NXB Học viện Ngân hàng. [4] Nguyễn Văn Vị, Thiết kế cơ sở dữ liệu.

Danh mục các website:

[5] Trang chủ công ty cổ phần MISA: http://www.misa.com.vn/

[6] Trang web học tập VIBLO: https://viblo.asia/p/tim-hieu-ve-business-analyst- ba-

chuyen-vien-phan-tich-nghiep-vu-PDOkqMdpkjx

[7] Trang web: https://vi.wikipedia.org/wiki/MISA(c%C3%B4ng ty)

Một phần của tài liệu PHÂN TÍCH THIẾT kế hệ THỐNG CHO bài TOÁN“BÔ SUNG TÍNH NĂNG HÀNG HOÁ ở APP QUẢN LÝMSHOPKEEPER TRÊN điện THOẠI” (Trang 49)

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

(68 trang)
w