Chương trình quản lý kho ở siêu thị Cà Mau

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à

doc88 trang | Chia sẻ: huyen82 | Lượt xem: 1621 | Lượt tải: 0download
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-PHIEUXUA TKHACH 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:

  • doc3519.doc