Giao diện Nhó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 57 - 68)

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 57 - 68)