CHƯƠNG TRÌNH QUẢN LÝ KHO
Ở SIÊU THỊ CAMAU
Chương I
Khảo sát và phân tích hệ thống
§1. Khảo sát và phân tích hiện trạng của hệ quản lý kho
1. Khảo sát hệ thống.
Siêu thị CAMAU là một trung tâm bán hàng hoá với nhiều hình thức: Giao dịch, trao
đổi,... của công ty Dalmart. Hàng nhập vào là từ các nhà cung cấp, nhà sảng xuất hoặc
của các công ty trong và ngoài nước. Đối tượng bán hàng của siêu thị gồm người tiêu
dùng, đại lý, những siêu thị khác hoặc các công ty có quan hệ trao đổi hà
88 trang |
Chia sẻ: huyen82 | Lượt xem: 1730 | Lượt tải: 0
Tóm tắt tài liệu Chương trình quản lý kho ở siêu thị Cà Mau, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng hóa với siêu
thị. Siêu thị quản lý hơn năm ngàn mặt hàng các loại. Toàn siêu thị có ba quầy thu ngân
hoạt động thường xuyên, vì vậy cần có chương trình để quản lý giúp nhân viên dễ dàng
hơn trong việc quản lý của mình.
Các hoat động chính của siêu thị gồm nhập hàng vào kho, xuất hàng từ kho ra quầy,
quản lý quầy, báo cáo số lượng và doanh thu hàng bán, báo cáo tồn kho trong tháng.
Việc quản lý công việc của siêu thị được phân cấp quản lý theo từng bộ phận sau(xem
hình 1.1) ở đây:
Cửa hàng trưởng: là người chịu trách nhiêm trước công ty về hoạt động kinh doanh và kế hoạch thưc hiện công việc của siêu thị.
Bộ phận bán lẻ: Là nhân viên của công ty trực tiếp bán hàng đến người tiêu dùng của siêu thị. Bộ phận này có nhiêm vụ quản lý cac mặt hàng trên quầy minh phụ trách, cuối mỗi ca phải kiểm tra và báo cáo số lượng hàng tồn trên quầy dể giao ca.
Bộ phận thu ngân: Tính tiền hàng của khách, mọi số lượng hàng bán ra được nhập vào máy tính để cuối ca bộ phận quản lý sẽ thu lại dữ liệu.
Bộ phận quản lý: Có nhiệm vụ tổng kết số liệu do bộ phận bán lẻ và thu ngân chuyên đến, cân đối số lượng hàng hóa trên quầy và số lượng bán ra để tìm ra sai sót giữa hai khâu này nếu có. Sau đó số liệu đươc chuyển sang cho bộ phận kế toán dể tính doanh thu.
Thủ kho: Quản lý công việc xuất nhập hàng của siêu thị.
Bộ phận nghiên cứu thị trường: Có nhiệm vụ đặt mua hàng, nhận hàng từ nhà cung cấp hay nguồn khác theo chỉ đạo của cửa hàng trưởng.
Bộ phận kế toán: Thực hiện điều chỉnh giá các mặt hàng, hạch toán và phân tích những số liệu xuất nhập, cố vấn cho cửa hàng trưởng về những kế hoạch thư hiện mới.
Việc mất mát hàng hóa và người chịu trách nhiệm sẽ được phát hiện ngay nhờ sự phân công
rạch ròi từng người, từng bộ phận và nhờ vào số liệu mà bộ phận quản lý thu được từ bộ
phận thu ngân và bộ phận bán lẻ. Mỗi nhân viên, tùy theo từng nhiệm vụ của mình chỉ được
xem báo cáo liên quan đến công việc, mà không được xem chương trình của người khác.
Cửa hàng trưởng
Bộ phận bán lẻ
Bộ phân thu ngân
Bộ phận quản lý
Thủ kho
Bộ phận nghiên cứu thị trường
Bộ phận kế toán
Hình1.1 Sơ đồ tổ chức của Siêu thị CAMAU
Hệ thống quản lý siêu thị có thể bao gồm các hệ thống là:
Qoản lý danh mục
Quản lý kho
Quản lý quầy
Quản lý bán hàng
Do trong khôn khổ của chuyên đề nên chỉ phải làm chương trình quản lý kho .
2. Nhiệm vụ cơ bản của hệ quản lý kho
Nhập hàng vào kho khi có hàng về, xuất hàng từ kho ra quầy, cho khách hàng và thanh lý , báo cáo số lương hàng nhập mới, hàng xuất,báo cáo tồn kho trong tháng đảm bảo không sai sót vê hàng nhập và hàng xuất.
3. Phân tích hiện trạng của hệ thống quản lý kho
Khi có hàng về thủ kho căn cứ vào phiếu mua hàng để nhập hàng vào kho, thủ kho cần ghi số lượng hàng nhập vào phiếu nhập. Việc nhập hàng thể hiện qua phiếu nhập và thẻ kho:
Công ty Dalmart
Siêu thị CAMAU Số : …….
PHIẾU MUA HÀNG
Ngày….tháng…..năm….
Người bán: ……………………………………………………………………..
Địa chỉ: ………………………………………………………………………
Số điện thoại: …………………………..Fax…………………………………..
Stt
Mã số
Tên hàng
Đvt
Số lượng
Thanh tiền
Ghi chú
Tổng cộng:
Số tiên bằng chữ: ………………………………………………………………
…………………………………………………………………………………...
Kế toán trưởng
Ngày ….tháng….năm
Cửa hàng trưởng
Công ty Dalmart
Siêu thị CAMAU Số: ………
PHIẾU NHẬP
Ngày….tháng…..năm….
Stt
Mã số
Tên hàng
Đvt
Số lượng
Ghi chú
Cửa hàng trưởng
Thủ kho
Công ty Dalmart
Siêu thị CAMAU Số: ………
THẺ KHO
Thẻ lập ngày….tháng…..năm….
Tên hàng: ………………………………………………………………………………………………………
Đơn vị tính :……………………………………………………………………………………………………
STT
Chứng từ
Diễn giải
Ngày nhập xuất
Số lượng
Số ngày
Ngày
Nhập
Xuất
Tồn
Hàng hoá từ kho được xuất ra được thể hiện qua ba dạng phiếu xuất kho sau:
Công ty Dalmart
Siêu thị CAMAU Số: ………
PHIẾU XUẤT QUẦY
Ngày….tháng…..năm….
Quầy: …………………………………………………………………………………
Kho: …………………………………………………………………………………..
Stt
Mã số
Tên hàng
Đvt
Số lượng
Ghi chú
Cửa hàng trưởng
Thủ kho
Người nhận
Công ty Dalmart
Siêu thị CAMAU Số: ………
PHIẾU XUẤT CHO KHÁCH
Ngày….tháng…..năm….
Tên khách: …………………………………………………………………………..
Địa chị: ……………………………………………………………………………
Số điên thoại: ……………………………..Fax……………………………………
Stt
Mã số
Tên hàng
Đvt
Số lượng
Ghi chú
Cửa hàng trưởng
Thủ kho
Người nhận
Công ty Dalmart
Siêu thị CAMAU Số: ………
PHIẾU XUẤT THANH LÝ
Ngày….tháng…..năm….
Lý do: ……………………………………………………………………………..
Kho: ………………………………………………………………………………
Stt
Mã số
Tên hàng
Đvt
Số lượng
Ghi chú
Cửa hàng trưởng
Thủ kho
Người nhận
Bất cứ lúc nào ban quản lý kho, siêu thị cũng có thể xem báo cáo nhập xuất tồn
Công ty Dalmart
Siêu thị CAMAU Số: ………
BÁO CÁO XUẤT NHẬP TỒN
Từ ngày………đến ngày…………
Stt
Mã số
Tên hàng
Tồn đầu kỳ
Nhập
Xuất
Tồn cuối kỳ
Ghi chú
Ngày …tháng…..năm….
Cửa hàng trưởng
Kế toán trưởng
§2. Phân tích hệ thống
1. Sơ đồ phân chia chức năng BFD(Business Function Diagram)
(xem hình 2.1)
1.1. Lập phiếu nhâp, xuất
- Lập phiếu nhập
Nhập hàng theo đúng danh mục trong hoá đơn mua hàng của công
ty
Hàng nhập được theo dõi dựa trên: Mã hàng, tên hàng, số lượng, đơn
vị tính.
- Lập phiếu xuất
Hàng xuất theo đúng danh mục trong phiếu xuất của công ty
Hàng xuất ra cũng được theo dõi qua mã hàng, tên hàng, số lượng
1.2. Lập danh mục
- Cập nhật danh mục hàng hoá
Danh mục hàng hóa được cập nhật theo đúng phiếu mua hàng của công ty
Danh mục hàng được theo dõi dựa trên mã hàng, tên hàng, đơn vị tính
- Cập nhật danh mục nhà cung cấp
Danh mục nhà cung cấp được câp nhật theo đúng hóa đơn mua hàng của công
ty
Danh mục nhà cung cấp đươc theo dõi dựa trên mã nhà cung cấp, họ và tên,
địa chỉ, số điện thoại, email.
- Cập nhật danh mục quầy
Danh mục quầy được cập nhật theo đúng phiếu xuất quầy của công ty
Danh mục quầy đươc theo dõi dựa trên mã quầy, tên quầy
- Cập nhật danh mục kho
Danh mục kho được câp nhật theo đúng phiếu xuất quầy, xuất khách, xuất
thanh lý của công ty.
Danh mục kho được theo dõi dựa trên mã kho, tên kho, địa chỉ
- Cập nhật danh mục khách hàng
Danh mục khách hàng được câp nhật theo đúng phiếu xuất khách của công ty
Danh mục khách hàng đươc theo dõi dưa trên mã khách hàng, tên khách
hàng, địa chỉ, số điện thoại, email
1.3. T ìm kiếm
Bao gồm tìm kiếm danh muc hàng hoá, danh mục kho, danh mục quầy, danh
mục khách hàng, danh muc nhà cung cấp.
1.4. Báo cáo
- Báo cáo hàng nhập trong kỳ
Báo cáo hàng nhập căn cứ vào phiếu nhập được lập vào hàng tháng của công
ty.
Báo cáo hàng nhập được theo dõi qua mã hàng, tên hàng, số lương, đơn vị tính
- Báo cáo hàng xuất trong kỳ
Báo cáo hàng nhập căn cứ vào phiếu xuất được lập vào hàng tháng của công
ty.
Báo cáo hàng xuất được theo dõi qua mã hàng, tên hàng, số lương, đơn vị tính
- Báo cáo hàng tồn trong kỳ
Báo cáo hàng tồn căn cứ vào phiếu nhập, phiếu xuất được lập vào hàng tháng
của công ty để tính ra tồn hàng tháng
Báo cáo hàng tồn được theo dõi qua mã hàng, tên hàng, số lương, đơn vị tính
Hình 2.1 SƠ ĐỒ CHƯC NĂNG
Kép
Đơn
Quản lý kho
Lập danh mục
Quản lý xuất,nhập
Báo cáo
Lập danh mục hàng
Lập danh mục khách hàng
Lập danh mục quầy
Lập danh mục kho
Lập danh mục nhà cung cấp
Lập phiếu nhập
Lập phiếu xuất
Điều chỉnh phiếu nhập
Điều chỉnh phiếu xuất
Xem hàng nhập mới
Xem hàng xuất
Xem hàng tồn
Tìm kiếm
2. DFD Sơ đồ luồng dữ liệu
Hệ thống thông tin ở Quản lý kho thì quá trình phân tích trên xuông là như sau:
Mức 0: Chức năng tổng quát của hệ thống là: Quản lý kho. Đối tác của hệ thống là: Ban
quản lý kho, quầy, ban quản lý siêu thị. Bổ sung các luồng dữ liệu trao đổi giữa các
đối tác và hệ thống ta có biểu đồ luồng dữ liệu bối cảnh ở Hình 2.21
Mức 1: Chức năng 0 được phân rã thành bốn chức năng con là Lập danh mục, Tìm kiếm,
Lập phiếu xuất, nhập, Báo cáo. Ngoài các luồng dữ liệu vào ra của chức năng 0 được
bảo toàn, thì ta thấy luồng thông tin trao đổi là không trực tiếp, mà phải thông qua các
kho dữ liệu sau: Người cung cấp, Kho, Hàng, Khách , Phiếu nhập, Phiếu mua, Phiếu
xuất khách, Phiếu xuât thanh lý . Từ đó ta có biểu đồ luồng dữ liệu mức đỉnh (xem hình 2.22)
Mức 2: Chức năng 1 được phân rã thành năm chức năng: Lập danh mục nhà cung cấp,
Lập danh mục hàng, Lập danh mục kho, Lập danh mục quầy, Lập danh mục khách. Còn
chức năng 2 thì được phân thành bốn chức năng là: Lập phiếu nhập, Lập phiếu xuất quầy,
Lâp phiếu xuất thanh lý, Lập phiếu xuất khách. Chức năng 4 thì phân thành ba chức năng:
Xem hàng nhập mới, Xem hàng xuất, Xem hàng tồn. Bảo toàn các luồng dữ liệu vào ra và
thêm các luồng dữ liệu nội bộ ta lập được sáu biểu dồ luồng dữ liệu như trong các hình
2.23, 2.24, 2.25, 2.26, 2.27, 2.28 sau:
Hình 2.21 Sơ đồ luồng dữ liệu mức khung cảnh
Ban quản siêu thị
phiếu xuất, nhập
Yêu cầu tồn kho
0
Quản lý kho
Hàng tồn kho
phiếu xuất
Yêu cầu báo cáo
Báo cáo
tồn kho
Báo cáo
Ban quản lý kho
Quầy
Hình 2.22 Biểu đồ luồng mức đỉnh
Ban quản lý
kho
Phiếu nhập
phiếu mua
SH-phiếu mua
+ngày
SH-Nhàcc
+Số phiếu
+ngày
SH-phiếu mua
+SH-hàng
+số lượng
+đơn giá
Chi tiết phiếu mua
2.1
Lập phiếu
nhập
phiếu mua hàng
SH-hàng
+ SH-phiếu nhập
+ sô lượng
Chi tiết nhập
Hàng
Nhà cung cấp
Yêu cầu lập danh mục
Lập danh mục
Hinh 2.23 DFD LẬP PHIẾU NHẬP
Yêu cầu lập danh mục
Lập danh mục
SH-Phiếuxuấtcho khách
+ SH-hàng
+ SH-kho
+Số lượng
Phiếu xuất cho khách
Số phiếu
+SH-khách
+ngày
2.2
lập phiếu
xuất cho
khách
Kho
Hàng
Khách
Ban quản lý
kho
Phiếu xuất cho khách
Chi tiết xuất cho khách
Hình 2.24 DFD LẬP PHIẾU XUẤT CHO KHÁCH
Yêu cầu lập danh mục
Lập danh mục
SH-Phiếuxuấtquầy
+ SH-hàng
+ SH-kho
+Số lượng
Phiếu xuất quầy
Số phiếu
+SH-quầy
+ngày
2.3
lập phiếu
xuất quầy
Kho
Hàng
Quầy
Ban quản lý
kho
Phiếu xuất quầy
Chi tiết xuất quầy
Hinh 2.25 DFD LẬP PHIẾU XUẤT QUẦY
Yêu cầu lập danh mục
Lập danh mục
SH-Phiếuxuấtthanh lý
+ SH-hàng
+ SH-kho
+Số lượng
Phiếu xuất thanh lý
Số phiếu
+SH-Lý do
+ngày
2.4
lập phiếu
xuất thanh lý
Kho
Hàng
Lý do
Ban quản lý
kho
Phiếu xuất thanh lý
Chi tiết xuất thanh lý
Hình 2.26 DFD LẬP PHIẾU XUÂT THANH LÝ
Lập phiếu nhập
hàng
Nhà cung cấp
1.1
Lập danh
mục nhà
cung cấp
1.2
Lập danh
mục hàng
Hàng
Nhà cung cấp
Lập phiếu xuất
Khách
Kho
Quầy
1.5
Lập danh
mục khách
1.4
Lập danh
mục quầy
1.3
Lập danh
mục kho
Khách
Quầy
Kho
Hình 2.27 DFD LẬP DANH MỤC
Hinh2.28 DFD BÁO CÁO
3. Mô hình thực thể ERD
3.1. Trước hết thiêt lập lược đồ dữ liệu theo mô hinh E/A mở rộng
Các kiểu thưc thể sơ bộ có thể phát hiện là:
- Về nhân lực, tài nguyên có kho, người cung cấp, mặt hàng , khách hàng
- Về giao dịch có phiếu mua, phiếu nhập, phiếu xuất quầy, phiếu xuất khách
phiếu xuất thanh lý.
- Về thông tin cấu trúc hoá có phiếu mua, phiếu nhập, phiếu xuất quầy,
phiếu xuất cho khách, phiếu xuất thanh lý, thẻ kho, báo cáo xuất nhâp tồn
Tiếp đó ta phát hiện kiểu liên kết giữa chúng bằng cách duyêt lại quá trình
xuất, nhập hàng của kho ( từ khi nhận hàng, nhập hàng vào kho, đến khi xuất
hàng từ kho ra) qua đó ta sẽ thấy được mối liên hệ giữa các thực thể.
1. Liên kết giữa hai thực thể NHACUNGCAP và PHIEUMUA, ta thấy rằng một
phiếu mua chỉ lập cho một nhà cung cấp, nhưng môt nhà cung cấp có thể lập
nhiều phiếu mua cung cấp hàng cho siêu thị. Như vậy hai thưc thể NHACUNG
CAP và PHIEUMUA có sự liên kết với nhau theo quan hệ một - nhiều .
2. Xét hai thực thể PHIEUMUA và HANG ta thấy rằng một mặt hàng có thể có
nhiều phiếu mua và ngược lại một phiếu mua có thể có nhiều măt hàng. Như
vậy hai thực thể PHIEUMUA và HANG có quan hệ nhiều - nhiều.
3. Xét hai thực thể PHIEUNHAP và PHIEUMUA, ta thấy rằng một phiếu mua
có thể được nhập nhiều lần, ngược lại phiếu nhập phải nhập theo phiếu mua.
Như vậy hai thưc thể PHIEUMUA vaPHIEUNHAP có quan hệ một - nhiều
4. Xét hai thực thể PHIEUNHAP và HANG ta thấy rằng một mặt hàng có thể có
nhiều phiếu nhập và ngươc lại một phiếu nhập có thể có nhiều mặt hàng. Như
vậy hai thực thể PHIEUNHAP và HANG có quan hệ nhiều - nhiều.
5. Xét hai thực thể PHIEUXUATQUAY và HANG ta thấy rằng một mặt hàng
có thể có nhiều phiếu xuất và ngươc lại một phiếu xuất có thể có nhiều măt
hàng. Như vậy hai thực thể PHIEUXUATQUAY và HANG có quan hệ nhiều
nhiều.
6. Xét hai thực thể PHIEUTHANHLY và HANG ta thấy rằng một mặt hàng có
thể có hiều phiếu xuất và ngươc lại một phiếu xuất có thể có nhiều măt hàng
Như vậy hai thực thể PHIEUTHANHLY và HANG có quan hệ nhiều - nhiều.
7. Xét hai thực thể PHIEUXUATKHACH và HANG ta thấy rằng một mặt
hàng có thể có nhiều phiếu xuất và ngươc lại một phiếu xuất có thể có
nhiều măt hàng. Như vậy hai thực thể PHIEUXUATKHACH và HANG
có quan hệ nhiều - nhiều.
8. Liên kết giữa hai thực thể KHACHvà PHIEUXUATKHACH, ta thấy
rằngphiếu mua chỉ lập cho một khách hàng, nhưng môt khách hàng có
thể lập nhiều phiếu xuât. Như vậy hai thưc thể KHACH và PHIEUXUAT
KHACH có sự liên kết với nhau theo quan hệ một- nhiều
9. Liên kết giữa hai thực thể QUAYvà PHIEUXUATQUAY, ta thấy rằng một
phiếu xuất chỉ lập cho quầy, nhưng quầy có thể lập nhiều phiếu xuất. Như vậy
hai thưc thể QUAYvà PHIEUXUATQUAY có sự liên kết với nhau theo quan
hệ một - nhiều
10. Liên kết giữa hai thực thể LYDO và PHIEUTHANHLY, ta thấy rằng một
phiếu thanh lý chỉ lập cho một lý do, nhưng môt lý do có thể lập nhiều phiếu
thanh lý. Như vậy hai thưc thể LYDOvà PHIEUTHANHLY có sự liên kết
với nhau theo quan hệ một - nhiều.
11. Liên kết giữa hai thực thể TONKHO và HANG, ta thấy rằng trong một
kho có thể tồn tại nhiều mặt hàng. Như vậy hai thưc thể TONKHO và
HANG có sự liên kết với nhau theo quan hệ một - nhiều
Bổ sung các kiểu thuôc tính cho mỗi kiểu thực thể. Riêng đối với khoá ta có một
số điểm sau: MA-nhà cung cấp, MA-khách, SH-Phiếu mua, SH-Phiếu thanh lý,
SH- phiêu nhập SH-Phiêu xuât cho khách, SH-phiếu xuất quầy, MA-hàng được
quản ly thống nhất do vậy ta có thể lấy làm khoá.
Trong mô hình thực thể mở rộng ta chưa xác định ứng số vội, vì các kiểu liên kết
còn thay đổi ở các bước sau. Ta dùng dấu sao(*) để đánh dấu các thuộc tính đa trị.
3.2. Mô hình E/A mở rộng
Tiếp đến ta biến đổi từ mô hình E/A mở rộng sang mô hình E/A kinh điển.Các
kiểu thực thể phụ thuộc được tách ra thay cho các kiểu thuộc tính đa trị. Các
ứng số được xác định. Qua đó ta xác đinh được một số kiêủ lien kết mới.
1. Xét hai thực thể PHIEUMUA và CHITIETPHIEUMUA, ta thấy rằng một phiếu
mua có nhiều chi tiết mua. Như vậyhai thực thể PHIEUMUA và CHITIETPHIEU
MUA có sự liên kết một - nhiều.
2. Xét hai thực thể PHIEUNHAP và CHITIETPHIEUNHAP, ta thấy rằng một phiếu
nhập có nhiều chi tiết nhập. Như vậy hai thực thể PHIEUNHAP và CHITIETPHI
EUNHAP có sự liên kết một - nhiều.
3. Xét hai thực thể PHIEUXUATKHACH và CHITIETPHIEUXUATKHACH, ta
thấy rằng một phiếu xuất cho khách có nhiều chi tiết xuất. Như vậy hai thực thể PHIEU
XUATKHACH vàCHITIETPHIEUXUATKHACH có sự liên kết một - nhiều.
4. Xét hai thực thể PHIEUXUATQUAY và CHITIETPHIEUXUATQUAY, ta thấy
rằng một phiếu xuất cho quầy có nhiều chi tiết xuất. Như vậy hai thực thể PHIEU
XUATQUAY vàCHITIETPHIEUXUATQUAY có sự liên kết một - nhiều.
5. Xét hai thực thể PHIEUTHANHLY và CHITIETTHANHLY, ta thấy rằng
một phiếu thanh lý có nhiều chi tiết xuất. Như vậy hai thực thể PHIEUTHANH
LY vàCHITIETTHANHLY có sự liên kết một - nhiều.
3.3. Mô hình E/A hạn chế
Cuối cùng mô hình E/A kinh điển được chuyển sang mô hình E/A hạn chế. Mỗi
kiểu liên kết một nhiều được thay bằng đường nối có chân vịt(bỏ ứng số) với
kiểu thuộc tính kết nối đươc bổ sung vào đầu nhiều.Sau đây sẽ đi xác định thuộc
tính của các thực thể.
Thực thể NHACUNGCAP.
Nhà cung cấp là các công ty, nhà sảng xuất, những siêu thị khác, có quan hệ
trao đổi với nhau, mua bán với siêu thị.
Mã nhà cung cấp (MANCC): Đây là thuộc tính khoá dùng để phân biệt nhà
cung cấp này vớI nhà cung cấp khác.
Họ và tên nhà cung cấp (HOVATEN): Mô tả tên nhà cung cấp ứng với mã số
Địa chỉ nhà cung cấp (Address): Đia chỉ liên lạc của nhà cung cấp
Số điện thoại (Tel): Số điên thoại của nhà cung cấp
Thực thể TONKHO.
Mã tồn kho (MA-TON): Phân biệt tồn kho với tồn kho khác
Mã kho (MA-KHO): Đây là thuộc tính khoá dung để phân biệt kho hàng này
với kho hàng khác trong thực thể kho.
- Số lượng (SOLUONG): Ghi lại số lương tồn là bao nhiêu
Thực thể HANG.
Mã hàng (MA_HANG): Đây là thuôc tính khoá dung để phân biệt mặt hang
này với mặt hàng khác.
Tên hàng (TENHANG): Mô tả tên mặt hàng ứng với mã mặt hàng
Mã tôn kho (MA-TON): Phân biệt tồn kho của hang này với hang khác trong
thực thể TONKHO
Đơn vị tính(DVT): Cho biết đơn vị tính của mặt hang là gì (cái, lit, hộp, thùng, chai,
lọ,…)
Thực thể PHIEUMUA.
Đây là phiếu dùng để mua hàng giữa các công ty và nhà cung cấp
Số phiếu (SH-PHIEUMUA): Đây là thuộc tính khoá dùng để phân biệt phiếu mua này với phiếu mua khác.
Mã nhà cung cấp(MANCC): Mã phân loại nhà cung cấp này với nhà cung cấp
khác .
Ngày (NGAY): Ngày mua hàng
Thực thể CHITIETPHIEUMUA.
Đây là thực thể trung gian để ghi lại chi tiết phiếu mua hàng
Số phiếu (SH-PHIEUMUA): Đây là thuộc tính khoá dùng để phân biệt phiếu mua
này với phiếu mua khác trong thực thể PHIEUMUA.
Mã hàng (MA-HANG): Xác định mặt hàng nào mua về, thuộc tính này kết hợp với
thuộc tính SH-PHIEUMUA tạo thanh khoá chính cho thực thể CHITIETHIEUMUA
Số lượng mua (SOLUONG): Ghi lại số lương mua từng mặt hàng
Đơn giá (DONGIA): Ghi lại giá vốn mua hàng
Thực thể PHIEUNHAP.
Đây là phiếu dùng để nhâp hàng vào kho
Số phiếu (SH-PHIEUNHAP): Đây là thuộc tính khoá dùng để phân biệt phiếu nh ập này với phiếu nhập khác.
Số phiếu mua(SH_PHIEUMUA): Đây là thuộc tính khoá dùng để phân biệt phiếu mua này với phiếu mua khác trong thực thể PHIEUMUA.
Ngày (NGAY): Ngày nhập hang
Thực thể CHITIETPHIEUNHAP.
Đây là thực thể trung gian để ghi lại chi tiết phiếu mua hàng
Số phiếu (SH-PHIEUNHAP): Đây là thuộc tính khoá dùng để phân biệt phiếu nh ập này với phiếu mua khác trong thực thể PHIEUNHAP.
Mã hàng (MA-HANG): Xác định mặt hàng nào mua về, thuộc tính này kết hợp
với thuộc tính SH-PHIEUNHAP tạo thanh khoá chính cho thực thể CHITIET
PHIEUNHAP
Số lượng mua (SOLUONG): Ghi lại số lương nhập từng mặt hàng
Thực thể KHACH.
Khách hàng là các công ty, những siêu thị khác, có quan hệ trao đổi với nhau,
mua bán với siêu thị.
Mã khách hàng (MA-KHACH): Đây là thuộc tính khoá dùng để phân biệt khách hàng này với khách hàng khác.
Họ và tên khách hàng (HOVATEN): Mô tả tên khách hàng ứng với mã số
Địa chỉ khách hàng (Address): Đia chỉ liên lạc của khách hàng
Số điên thoại (Tel): Số điên thoại của khách hàng
Thực thể PHIEUXUATKHACH.
Đây là phiếu xuất hàng cho khách hàng
Số phiếu (SH-PHIEUXUATKHACH): Đây là thuộc tính khoá dùng để phân biệt phiếu xuất này với phiếu xuất khác.
Mã khách hàng (MA-KHACH): Mã phân loại khách hàng này với khach hàng
khác .
Ngày (NGAY): Ngày xuất hàng
Thực thể KHO
Thưc thể này bao gồm những thông tin về kho hàng
Mã kho (MA-KHO): Đây là thuộc tính khoá dùng để phân biệt kho hàng này với
kho hàng khác
Tên kho (TENKHO): Ghi lại tên kho hàng
Địa chỉ (DỊACHI): Địa chỉ của kho hàng
Thực thể CHITIETPHIEUXUATKHACH
Đây là thực thể trung gian để ghi lại chi tiết phiếu
Số phiếu (SH-PHIEUXUATKHACH): Đây là thuộc tính khoá dùng để phân biệt phiếu xuất này với phiếu xuất khác trong thực thể PHIEUXUATKHACH.
Mã kho (MA-KHO): Đây là thuộc tinh khoá dung để phân biệt kho hang này với
kho hàng khác
Mã hàng (MA-HANG): Xác định mặt hàng nào xuất kết hợp vớI SH-PHIEUXUATKHACH và MA_KHO tạo thành khoá chính cho thực thể CHITIETPHIEU
XUATKHACH.
Số lượng mua (SOLUONG): Ghi lại số lương xuất từng mặt hang
Thực thể QUAY
Thưc thể này bao gồm những thông tin về quầy hàng
Mã quầy (MA-QUAY): Đây là thuộc tính khoá dùng để phân biệt quầy
hàng này vớI quầy hàng khác
Tên quầy (TENQUAY): Ghi lại tên quầy hàng
Thực thể LYDO
Thưc thể này bao gồm những thông tin về lý do thanh lý hàng
Mã lý do (MA-LYDO): Đây là thuộc tính khoá dùng để phân biệt lý do này
với lý do khác
Tên lý do (TENKHO): Ghi lại tên lý do
Thực thể PHIEUXUATQUAY.
Đây là phiếu xuất hàng cho khách hàng
Số phiếu (SH-PHIEUXUATQUAY): Đây là thuộc tính khoá dùng để phân biệt phiếu xuất này với phiếu xuất khác.
Mã quầy (MA-KHACH): Mã phân loại quầy hàng này với quầy hàng
khác .
Ngày (NGAY): Ngày xuất hàng
Thực thể CHITIETPHIEUXUATQUAY
Đây là thực thể trung gian để ghi lại chi tiết phiếu
Số phiếu (SH-PHIEUXUATQUAY): Đây là thuộc tính khoá dùng để phân biệt phiếu xuất này với phiếu xuất khác trong thực thể PHIEUXUATQUAY.
Mã kho (MA-KHO): Đây là thuộc tinh khoá dung để phân biệt kho hàng này
với kho hàng khác
Mã hàng (MA-HANG): Xác định mặt hàng nào xuất kết hợp với SH-PHIEU
XUATQUAY và MA_KHO tạo thành khoá chính cho thực thể HITIETPH
IEUXUATQUAY.
Số lượng mua (SOLUONG): Ghi lại số lương xuất từng mặt hàng
Thực thể PHIEUTHANHLY.
Đây là phiếu xuất hàng cho khách hàng
Số phiếu (SH-PHIEUTHANHLY: Đây là thuộc tính khoá dùng để phân biệt phiếu
xuất này với phiếu xuất khác.
Mã lý do (MA-LYDO): Mã phân loại lý do này vớI lý do khác .
Ngày (NGAY): Ngày xuất hàng
Thực thể CHITIETPHIEUTHANHLY
Đây là thực thể trung gian để ghi lại chi tiết phiếu thanh lý
Số phiếu (SH-PHIEUTHANHLY): Đây là thuộc tính khoá dùng để phân biệt phiếu xuất này với phiếu xuất khác trong thực thể PHIEUTHANHLY.
Mã kho (MA-KHO): Đây là thuộc tinh khoá dung để phân biệt kho hàng này với
kho hàng khác
Mã hàng (MA-HANG): Xác định mặt hàng nào xuất kết hợp với SH-PHIEU
THANHLY và MA_KHO tạo thành khoá chính cho thực thể CHITIETPHIEU
THANHLY
Số lượng mua (SOLUONG): Ghi lại số lượng xuất từng mặt hàng
MÔ HÌNH E/A MỞ RỘNG
MÔ HÌNH E/A KINH ĐIỂN
MÔ HÌNH E/A HẠN CHẾ
Chương II
Cài đặt hệ thống quản lý kho
Trong chương này ta sẽ xem xét việc cài đặt chương trình bằng ngôn ngữ PHP
và hệ quản trị cơ sở dữ liệu MySQL
Những công việc chính:
Lập danh mục kho
Lập phiếu xuất, nhập
Tồn kho
Báo cáo
Trong chương I ta đã thiết kế mô hình E/A hạn chế của hệ thống quản lý kho, đây là mô hình đạt chuẩn ba. Căn cứ vào mô hình này ta đã xây dựng bằng MySQL cơ sở dữ liệu cho hệ thống này là HT_KHO trong servername có tên là locallhost.
§1.Xây dựng Menu chính và những Submenu
1. Kết nối cở sở dữ liệu
Kết nối với cơ sở dữ liệu trong servername có tên là locallhost của máy chứa cơ sở dữ liệu, ta phải cung cấp username và password. Để làm điều này ta có hàm connect ở trong file connectdb.php
File Connectdb.php
Chức năng : Kết nối cơ sở dữ liệu
Đầu vào:
◊ Servername là locallhost
◊ Username là root
◊ Pasword là pass
Đầu ra:
Mở cơ sở dữ liệu HT_KHO đặt trong server locallhost
<?php
//Khai báo kết nối, nếu kết nối không thành công, xuất hiện thông báo lỗi
$link = mysql_connect ("localhost", "root", "pass")
or die ("Could not connect to MySQL Database");
//Mở cơ sỏ dữ liệu HT_Kho
mysql_select_db("HT_Kho", $link);
?>
2. Hiển thị trang
Mỗi khi tìm kiếm dữ liệu có thể hàng trăm, hàng nghìn mẩu tin cần được hiển thị lên màn hình. Vì thế chúng ta phải phân trang để hiển thị những mẩu tin đó theo từng khối một. Đoạn mã để thực hiện công việc này ta để trong các file Page.php và paging.php
File Paging.php
Đầu vào:
◊ $totalPages: Tổng số trang
◊ $curPage: Trang hiên tại người dùng chọn để liệt kê dữ liệu
Đầu ra:
Hàm này trả về chuỗi có dạng như:
//nếu $totalPages>1 va $totalPage<$maxpage
Go to Page: 1 2
//nếu $curPage<$maxPage va $curPages<$totalPage
Go to Page: 1 2 3 4 5 Next
//nếu $curPage>$maxPage và $curPage<$totalpage
Go to Page: Previous 6 7 8 9 10 Next
Trong đó 1 2 3 4 5…<= $totalPage là trang để người dùng chọn
<?
//CHI TAO RA CHUOI PAGING(1 2 3 4 5 NEXT)KHI TONG SO HANG LON
HON SO HANG TREN MOI TRANG
if($totalPages>1)
{
//khai báo biến số trang bắt đầu và kết thúc
$start=1;
$end=1;
$paging1 ="";
//định nghĩa Paging(1 2 3 4 5)
for($i=1;$i<=$totalPages;$i++)
{
if(($i>((int)(($curPage-1)/$maxPages))*
$maxPages) && ($i<=((int)(($curPage-1)/$maxPages+1))*
$maxPages))
{
if($start==1) $start=$i;
if($i==$curPage)
$paging1 .= $i." ";
else
//KHAI BAO PHUONG THUC JAVACRIP CO TEN GOTOPAGE VOI THAM
SO TRANG LA NGUOI DUNG CHON
$paging1 .= "<a
href='javascript:GotoPage(".$i.")'>".$i." ";
$end=$i;
}
}
//KHAI BAO PREVIOUS NEU TRANG HIEN TAI > 1
$paging.= "Go to page : " ;
If($curPage>$maxPages)
$paging .="<a href='javascript:GotoPage(".($start-
1).")'>Previous ";
//NOI PREVIOUS NEU CO VAO CHUOI 1 2 3 4 5
$paging.=$paging1;
//KHAI BAO NEXT NEU TONG SO TRANG LON HON SO TRANG LON NHAT
HIEN TAI
if(((($curPage-1)/$maxPages+1)*$maxPages) < $totalPages)
$paging .= "<a
href='javascript:GotoPage(".($end+1).")'>Next ";
}
?>
File Page.php
Đầu vào:
◇ Hàm được gọi: $HTTP_POST_VARS{"curPg"}: Trang hiện tại người dùng chọn để
liệt kê dữ liệu. Trong đó phương thức $HTTP_POST_VARS(“parameter”) dùng để
lấy giá trị từng tham số .
◊ Hàm được gọi: paging.php
Đầu ra:
Hàm này trả về chuỗi có hình dạng như:
//nếu $totalPages<=1
◊ Current Page:1 Total Pages: 1
//nếu $totalPages>1 va $totalPage<$maxpage
◊ Curent Page: $curPage Total Page: $totalPages
//nếu $curPage<$maxPage va $curPages<$totalPage
◊ Current Page: $currPage Total Pages: $totalPages
//nếu $curPage>$maxPage và $curPage<$totalpage
◊ Current Page: $curPage Total Pages: $TotalPages
Trong đó 1 2 3 4 5…<= $totalPage là trang để người dùng chọn
<?php
//khai báo số trang và số hàng mặc định
$sotrang=5;
$record=20;
//KHAI BAO BIEN TRANG
$paging="";
//KHAI BAO BIEN SO HANG LON NHAT TRONG MOT TRANG
$maxRows = $record;
//KHAI BAO BIEN SO TRANG LON NHAT
$maxPages = $sotrang;
//TONG SO TRANG = TONG SO HANG / SO HANG MOI TRANG.NEU CO
DU THI TONG SO TRANG CONG THEM MOT
if($totalRows%$maxRows==0)
$totalPages = (int)($totalRows/$maxRows);
else
$totalPages = (int)($totalRows/$maxRows+1);
//Kiểm tra thẻ curPg để tính trang hiện tại, nếu không tồn tại thì gán giá trị 1,
//ngược lại đọc từ thẻ form
if($HTTP_POST_VARS{"curPg"}=="")
$curPage =1;
else
$curPage = $HTTP_POST_VARS{"curPg"};
//khai báo biến số hang hiện tại bắt đầu từ dòng thứ 1 của trang hiện tại
$curRow = ($curPage-1)*$maxRows+1;
//KHAI BAO BIEN CHUOI PAGING
$paging ="Current Page :
".$curPage." "."Total pages
: ".$totalPages." ";
require(“Paging.php”);
?>
3. Tạo menu chính
Trong các trang đều trình bày menu với bốn chức năng Lập danhmục, Lập phiếu xuất, nhập, Tônkho, Báo cáo. Menu chính của ứng dụng, bao gồm các liên kết chính của ứng dụng. Menu này được định nghĩa trong trang menuchinh.php.
Lap danh muc | Lap phieu xuat/nhap |Do ton |Bao cao
File Menuchinh.php
Lập danh muc
|
Lập phieu xuat/nhap
|
Ton kho
|
Bao cao
4. Tạo submenu
4.1 Tạo submenu Lập danh mục
Submenu này có năm chức năng nhỏ như Lập danh mục kho, quầy, hang, nhà cung cấp, khách hàng. Nó bao gồm các liên kết phụ thực hiện chức năng lập danh mục của ứng dụng. Để thực hiện điều này ta định nghĩa trong File Danhmuc.php
Lap danh muc
Lap danh muc kho
Lap danh muc quay
Lap danh muc hang
Lap danh muc nha cung cap
Lap danh muc khach hang
File Danhmuc.php
Lap danh muc
Lap danh muc kho
Lap danh muc quay
Lap danh muc hang
Lap danh muc nha cung cap
Lap danh muc khach hang
4.2 Tạo submenu Lập phiếu xuất,nhập
Submenu này có bốn chức năng nhỏ như Lập phiếu nhập, phiếu xuất quầy, phiếu xuất cho khách, phiếu xuất thanh lý. Nó bao gồm các liên kết phụ thực hiện chức năng lập phiếu xuất. Để thực hiện điều này ta định nghĩa trong trang Lapxuatnhap.php
Lap phieu xuat, nhap
Lap phieu nhap
Lap phieu xuat quay
Lap phieu xuat cho khach
Lap phieu xuat thanh ly
File Lapxuatnhap.php
Lap phieu xuat/nhap
Lap phieu nhap
Lap phieu xuat khach
Lap phieu xuat quay
Lap phieu xuat thanh ly
Dieu chinh phieu xuat/nhap
Dieu chinh phieu nhap
Dieu chinh phieu xuat khach
Dieu chinh phieu xuat quay
Dieu chinh phieu xuat thanh ly
§2. Xây dựng chức năng Lập danh mục
Chức năng này có sử dụng:
◊ Hàm repl(): Hàm này biến một chuỗi có một dấu nháy( ‘ ) thành chuỗi có hai dấu nháy (‘’). Hàm này sử dụng thường xuyên cho các file đưa thông tin vào cơ sơ dữ liệu. Hàm này ghi trong file Ham.php
Đầu vào:
Chuỗi $str có một dấu nháy
Đầu ra :
Chuỗi $str có hai dấu nháy
function repl($str)
{
return str_replace("'","''",$str);
}
◊ Các file trong cơ sở dư liệu HT_KHO là tblkho, tblquay, tblhang, tblnhacungcap, tblkhachhang. Các file này dung để lưu trữ dữ liệu đầu ra của chức năng
1. Chức năng lập danh mục kho
Đây là chức năng lập danh sách các kho của siêu thị. Chức năng này được định nghĩa trong các file sau:
1.1.File Formkho.php
File này chứa các đoạn mã html dùng để định nghĩa form của kho hàng. Từ form này người dùng có thể nhập vào nó các thông tin về kho hàng
Ten kho:
Dia chi:
Ma kho:
<form name="frmLogin" method="post" action="dodanhmuckho.php?goto=" onsubmit="return
checkInput();">
Ten kho:
Dia chi:
Ma kho:
1.2. File dodanhmuckho.php.
File này khai báo SQL dạng insert để thêm thông tin vào tblkho từ các giá trị của thẻ form trên
Đầu vào:
◊ $HTTP_POST_VARS(“txtID”);
◊ $HTTP_POST_VARS(“txtTenkho”);
◊ $HTTP_POST_VARS(“txtDiaChi”);
◊ Connectdb.php
Đầu ra:
Giá trị của các thẻ form được nhập vào tblkho của cơ sở dũ liệu HT_KHO
<?php
//KHOI DONG SESSION
session_start();
//KET NOI CO SO DU LIEU
require("connectdb.php");
//neu nguoi dung chon nu._.
Các file đính kèm theo tài liệu này:
- 3519.doc