Tài liệu Đề tài Xây dựng phần mêm quản lý thuốc tại hiệu thuốc Long Tâm: LỜI NÓI ĐẦU
Công nghệ thông tin trong giai đoạn hiện nay đang có những bước phát triển một cách mạnh mẽ trong mọi lĩnh vực hoạt động trên toàn thế giới. Ở Việt Nam, tuy rằng công nghệ thông tin mới chỉ đang đi từng bước phát triển, tuy nhiên những bước phát triển đó đã đem lại cho Việt Nam trở thành nước có tiềm năng về lĩnh vực công nghệ thông tin. Trong đó, phát triển hệ thống thông tin đang là thế mạnh của đất nước. Với việc ứng dụng trong các ngành kinh tế, hệ thống thông tin giúp cho công việc quản lý được dễ dàng hơn, nâng cao hiệu quả sản xuất, tiết kiệm được thời gian công sức.
Với công nghệ thông tin, thông tin được thu thập, xử lý, phổ biến, một cách nhanh chóng, chính xác và có hiệu quả. Đã đi qua thời tính toán, lưu trữ dữ liệu bằng các phương pháp thủ công truyền thống mang nặng tính chất lạc hậu, lỗi thời. Công nghệ thông tin đã đi vào các ngành với một phương thức hoạt động hoàn toàn mới mẻ,sáng tạo và nhanh chóng mà không mất đi sự chính xác. Đặc biệt, nó đã đánh dấ...
80 trang |
Chia sẻ: hunglv | Lượt xem: 1074 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Xây dựng phần mêm quản lý thuốc tại hiệu thuốc Long Tâm, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU
Công nghệ thông tin trong giai đoạn hiện nay đang có những bước phát triển một cách mạnh mẽ trong mọi lĩnh vực hoạt động trên toàn thế giới. Ở Việt Nam, tuy rằng công nghệ thông tin mới chỉ đang đi từng bước phát triển, tuy nhiên những bước phát triển đó đã đem lại cho Việt Nam trở thành nước có tiềm năng về lĩnh vực công nghệ thông tin. Trong đó, phát triển hệ thống thông tin đang là thế mạnh của đất nước. Với việc ứng dụng trong các ngành kinh tế, hệ thống thông tin giúp cho công việc quản lý được dễ dàng hơn, nâng cao hiệu quả sản xuất, tiết kiệm được thời gian công sức.
Với công nghệ thông tin, thông tin được thu thập, xử lý, phổ biến, một cách nhanh chóng, chính xác và có hiệu quả. Đã đi qua thời tính toán, lưu trữ dữ liệu bằng các phương pháp thủ công truyền thống mang nặng tính chất lạc hậu, lỗi thời. Công nghệ thông tin đã đi vào các ngành với một phương thức hoạt động hoàn toàn mới mẻ,sáng tạo và nhanh chóng mà không mất đi sự chính xác. Đặc biệt, nó đã đánh dấu một bước ngoặt trong việc áp dụng tin học vào trong hệ thống quản lý.
Qua thời gian thực tập, em nhận thấy công tác quản lý thuốc ở các hiệu thuốc là bước quan trọng trong công tác phân phối thuốc. Với công tác quản lý thuốc của hiệu thuốc mà ta có những thông tin, báo cáo về lượng hàng nhập, hàng xuất, hàng tồn của hiệu thuốc . Đây cũng là một trong những mối quan tâm của rất nhiều hiệu thuốc trong giai đoạn hiện nay. Chính vì vậy mà em đã chọn đề tài: “Xây dựng phần mêm quản lý thuốc tại hiệu thuốc Long Tâm “.
CHƯƠNG I: TỔNG QUAN VỀ CÔNG TY CỔ PHẦN PHẦN
MỀM QUẢN TRỊ DOANH NGHIỆP CYBERSOFT
1.1. Thông tin chung về công ty:
Công ty cổ phần phần mềm quản trị doanh nghiệp (tên giao dịch là Cybersoft) được thành lập 04/11/2003. Công ty được thành lập theo giấy phép kinh doanh số 0103018013 do sở kế hoạch đầu tư Hà Nội cấp ngày 04 tháng 01 năm 2003 và cục thuế quận Cầu Giấy-Hà Nội cấp mã số đăng ký thuế 0102310265 ngày 04 tháng 01 năm 2003.
. Công ty Cybersoft có một đội ngũ cán bộ, nhân viên có trình độ về quản lý và nghiệp vụ, đã từng tham gia nhiều dự án lớn trong lĩnh vực công nghệ thông tin của nhiều cơ quan doanh nghiệp trên cả nước từ năm 2004. Với kinh nghiệm, sức trẻ, năng động và sáng tạo kết hợp phong cách làm việc chuyên nghiệp, công ty sẽ làm thoả mãn tốt nhất các nhu cầu của khách hàng.
Tuy thời gian thành lập chưa lâu, song do được xây dựng trên nền tảng là các chuyên gia có nhiều kinh nghiệm trong lĩnh vực công nghệ thông tin, thương mại điện tử, bất động sản với mục tiêu kết hợp sự hiểu biết về chuyên môn,công nghệ, phương thức hỗ trợ khách hàng và những kinh nghiệm thực tế để tạo ra những sản phẩm và dịch vụ có chất lượng cao cho thị trường.
Cho đến nay Cybersoft đã và đang từng bước liên doanh và liên kết với nhiều các đối tác trong và ngoài nước nhằm tạo ra sức mạnh tổng hợp để cung cấp cho thị trường những sản phẩm phần mềm và dịch vụ tốt nhất , với chi phí thấp nhất và hệ thống hỗ trợ hoàn hảo nhất.
Trụ sở công ty :
Tầng 12A-Toà nhà Sông Đà-18/165 Cầu Giấy-Hà Nội
Nơi làm việc :
Tầng 12A-Toà nhà Sông Đà-18/165 Cầu Giấy-Hà Nội
Điện Thoại : 04.7673226 / 04.7673228
Trang web của công ty : www.cybersoft.com.vn
1.2. Cơ cấu tổ chức của công ty
1.2.1. Sơ đồ cơ cấu tổ chức của công ty
1.2.2. Mô tả chức năng của các phòng ban
STT
Phòng Ban
Nhiệm vụ chính
1
Hội Đồng Quản Trị
Có chức năng quản lý các thông tin về nhân sự của công ty. Cũng như quản lý thông tin, triển khai các dự án của công ty.
2
Giám Đốc Điều Hành
Tiến hành xây dựng, lập kế hoạch, điều hành các chiến lược, mục tiêu phát triển của công ty, điều hành phát triển kinh doanh, xây dựng các quy định, chế độ, chính sách chung cho sự phát triển của công ty.
3
Phòng kinh doanh và phát triển thị trường
Thực hiện các hoạt động kinh doanh một cách hiệu quản; khảo sát đánh giá tiềm năng và tìm hiểu nhu cầu phát sinh của khách hàng; mở rộng thị trường sử dụng dịch vụ của Công ty; Tạo lập và duy trì mối quan hệ tốt với khách hàng, chăm sóc khách hàng định kỳ nâng cao uy tín chất lượng của công ty. Tuyên truyền quảng bá sản phẩm, dịch vụ của công ty; phân tích và thực hiện kế hoạch chăm sóc khách hàng một cách tốt nhất.
4
Phòng nghiệp vụ
Khảo sát các quy trình nghiệp vụ của khách hàng, tư vấn nghiệp vụ, tư vấn quy trình quản lý cho khách hàng, tư vấn và triển khai các giải pháp ERP
5
Phòng quản trị hành chính
Tổ chức thực hiện công tác văn phòng, các thủ tục hành chính, lưu trữ hồ sơ; Sắp xếp, tổ chức các hoạt động trong công ty;Giám sát việc thực hiện quy chế nhân viên và thực hiện công tác BHXH, BHYT
6
Phòng giải pháp doanh nghiệp
Tư vấn triển khai các hệ thống thông tin quản lý tài chính và quản tri doanh nghiệp, cài đặt đào tạo hướng dẫn sử dụng hệ thống, thiết kế và phát triển sản phẩm theo yêu cầu đặc thù của khách hang
7
Phòng nghiên cứu và phát triển sản phẩm
Nghiên cứu và phát triển sản phẩm mới dựa trên nền công nghệ tiên tiến nhất với các chức năng phân hệ luôn mở rộng cũng như nâng cao tính nghiệp và khả năng phân tích quản trị của chương trình. Phân tích đánh giá sản phẩm, dịch vụ hiện tại của Công ty nhằm điều chỉnh phù hợp với nhu cầu của khách hàng.
8
Phòng tư vấn và hỗ trợ khách hàng
Tư vấn cho khách hàng qua điện thoại, E-mail, web và tại trụ sở khách hàng khi có nhu cầu tư vấn. Vì sự thành công của khách hàng chúng tôi không dừng lại ở khâu bán hàng mà mong muốn Cyber Accounting đem lại ý nghĩa đích thực cho khách hàng.
1.2.3. Trình độ của nhân viên trong công ty
Công ty có đội ngũ cán bộ quản lý hầu hết là những người hoạt động trong lĩnh vực công nghệ thông tin và viễn thông nên có sự am hiểu sâu sắc về công nghệ cũng như các xu hướng về công nghệ trong tương lai.
Được hình thành và phát triển từ các thành viên ban đầu đến nay, đội ngũ cán bộ công nhân viên của công ty là trên 40 người. Đội ngũ nhân viên của Cybersoft được đào tạo chính quy, tốt nghiệp từ các trường đại học lớn của Việt Nam như đại học Kinh Tế Quốc Dân, đại học Quốc Gia … Nhân viên có kiến thức chuyên sâu về công nghệ thông tin, đặc biệt có khả năng tư duy và đạo đức tốt. Các nhân viên của công ty luôn được khuyến khích phát huy hết khả năng của bản thân đối với công việc, kết quả tốt luôn được đền đáp một cách xứng đáng. Bên cạnh đó sự năng động của Cybersoft được thể hiện đặc biệt thông qua các kỹ năng làm việc theo nhóm, quy trình làm việc theo nhóm, quy trình làm việc chuyên nghiệp, đây là một trong những yếu tố quan trọng tạo nên sản phẩm và dịch vụ thỏa mãn hơn cả sự mong muốn cho khách hàng của mình và đây cũng chính là một trong những yếu tố tạo nên sự phát triển của Cybersoft. Cybersoft luôn luôn đặt vấn đề con người làm cốt lõi cho sự phát triển và phồn vinh của công ty.
1.3. Sản phẩm và dịch vụ của công ty
1.3.1. Sản phẩm của công ty
Các ứng dụng hiện nay không còn
mang tính cục bộ nữa mà cần được
chia sẻ, tương tác với trọng tâm là
người dùng. Công ty Cybersoft thiết kế
phần mềm kế toán nhằm giúp các doanh
nghiệp dễ dàng sử dụng, nâng cao
hiệu quả kinh doanh và tiết kiệm giá thành. Những sản phẩm phần mềm mà
Cybersoft thiết kế được ứng dụng trong
các lĩnh vực bất động sản, xây dựng, vận tải, khoáng sản, chứng khoán, truyền thông ... phù hợp và cần thiết cho nhiều loại hình doanh nghiệp.
Phần mềm kế toán Cyber Accounting
Được đánh giá là sản phẩm có đầy đủ nhất các nghiệp vụ kế toán với các phân hệ sau (Kế toán tổng hợp, kế toán vốn bằng tiền, kế toán bán hàng và công nợ phải thu, kế toán mua hàng và công nợ phải trả, kế toán hàng tồn kho, kế toán chi phí và tính giá thành sản phẩm, kế toán công cụ dụng cụ, kế toán tài sản cố định, hệ thống báo cáo thuế, báo cáo tài chính, báo cáo quản trị, báo cáo cổ phần hoá
Phần mềm Cyber Corporate
Cyber Corporate Accounting thực hiện lấy số liệu từ các cybersoft
Accounting của các đơn vị thành viên lên. Cyber Corporate sẽ cho phép in số liệu từ sổ chi tiết đến báo cáo tổng hợp báo cáo thuế của từng đơn vị thành viên hoặc toàn bộ tổng công ty, tập đoàn. Ngoài ra Cyber Corporate còn cho tự đồng khủ trùng doanh thu, khử trùng nguồn vốn hình thành, công nợ khi lên bảng
Cân đối kế toán, báo cáo KQSXKD
Phần mềm Cyber Business Net
Cyber Business Net là một hệ thống phần mềm quản trị toàn diện doanh nghiệp. Giúp doanh nghiệp tự động hoá hầu hết các quy trình hoạt động chính trong doanh nghiệp: từ mua, bán, quản lý vật tư hàng hoá đến phân tích hoạt động sản xuất kinh doanh, quản lý tài chính kế toán.
Phần mềm Cyber CRM.Net
Phần mềm quản trị quan hệ khách hàng Cyber CRM được phát triển trên nền công nghệ .Net và hệ quản trị cơ sở dữ liệu SQL SERVER 2000 của Microsoft với các tính năng ưu việt trong quản lý quan hệ khách hàng.
Cyber CRM không chỉ cung cấp các giải pháp kịp thời hỗ trợ lãnh đạo doanh nghiệp trong việc đưa ra các quyết định kinh doanh mà còn là công cụ đắc lực hàng ngày của nhân viên Marketing, nhân viên bán hàng, bảo hành, tư vấn ...
Phần mềm HRM.Net
Với mục đích cung cấp một giải pháp tốt nhất phục vụ hiệu qủa trong qúa trình quản lý nguồn nhân lực và tính lương cho nhân viên phù hợp với từng loại hình doanh nghiệp.
1.3.2. Dịch vụ của công ty
Công ty Cybersoft hiểu rằng cung cấp cho các doanh nghiệp, cơ quan tổ chức phần mềm tốt là chưa đủ, bên cạnh đó công ty còn có đội ngũ các nhân viên có chuyên môn, kiến thức chuyên sâu, nhiệt tình, năng động, sáng tạo, sẵn sàng tư vấn cho khách hàng để việc áp dụng phần mềm có hiệu quả nhất .
Đào tạo tư vấn triển khai:
Công việc hướng dẫn khách hàng sử dụng các sản phẩm của công ty là một trong những vấn đề mà công ty rất quan tâm. Với đội ngũ nhân viên kiểm thử và triển khai giàu kinh nghiệm....
Triển khai :
Sau khi triển khai hợp đồng phần mềm, khách hàng sẽ được nhân viên công ty triển khai và cài đặt phần mềm. Quá trình triển khai sẽ thực hiện trực tiếp tại địa điểm của khách hàng, chương trình đào tạo sẽ được tiến hành theo các nội dung sau: hướng dẫn sơ bộ cách sử dụng phần mềm, hướng dẫn sao lưu và bảo mật dữ liệu, quá trình đào tạo được chi tiết theo cuốn quy trình triển khai
Hỗ trợ sau triển khai:
Sau quá trình cài đặt và đào tạo, công ty Cybersoft còn tiếp tục cung cấp dịch vụ hỗ trợ và sử dụng cho khách hàng. Công việc bao gồm có hướng dẫn, hỗ trợ, tư vấn cho khách hàng các lỗi có thể xảy ra trong quá trình sử dụng và giải đáp các thắc mắc khi đang sử dụng chương trình.
Bảo hành:
Công ty Cybersoft nhận bảo hành cho khách hàng cài đặt phần mềm của công ty. Trong thời gian này khách hàng sẽ được trợ giúp kỹ thuật để vận hành phần mềm 1 cách có hiệu quả nhất, đồng thời các thay đổi về cơ chế chính sách của nhà nước liên quan đến hệ thống phần mềm thì công ty sẽ sửa đổi và bổ sung miễn phí. Sau khi kết thúc hợp đồng mà khách hàng có nhu cầu thì việc hỗ trợ sẽ được tiếp tục thực hiện thông qua hình thức hợp đồng bảo trì phần mềm được thỏa thuận giữa 2 bên.
Khách hàng chính là người đánh giá trung thực nhất về sản phẩm của công ty do vậy để thỏa mãn một cách tốt nhất các nhu cầu về phần mềm để phục vụ cho việc sản xuất để phục vụ kinh doanh của họ là tiêu thức đặt ra hàng đầu của công ty, coi lợi ích khách hàng là lợi ích của công ty và tất cả là một Tư vấn triển khai ERP cho doanh nghiệp :
Đây là một trong những định hướng chiến lược của công ty trong thời gian tới nhằm đáp ứng nhu cầu phát triển của thị trường, những thẩm định khắt khe về công nghệ thông tin của khách hàng.
Đối tác của công ty
Với mong muốn đưa được sản phẩm tới số đông công chúng, phục vụ tốt nhất cho cộng đồng. Công ty Cybersoft luôn chú trọng tới việc thiết lập các quan hệ đối tác với các cá nhân, tổ chức trong lĩnh vực CNTT, Chứng khoán, Xây dựng ...v.v. Cybersoft mong muốn có chiến lược lâu dài trong việc hợp tác và phát triển cùng các đối tác. Các đối tác sẽ tìm thấy được ở Cybersoft chổ dựa tin cậy và nhiều lợi ích thông qua sự phát triển và hợp tác. Định hướng của Cybersoft là phát triển phần mềm dựa trên công nghệ mới và được ứng dụng trong các lĩnh vực xây dựng, khoáng sản, y tế, chứng khoán, kế toán, t ài chính
Một số các đối tác tiêu biểu của công ty :
Khách hàng là tổng công ty - Tập đoàn kinh tế
Tổng công ty vận tải Hà Nội (Transerco)
Tổng công ty chè Việt Nam (Vinatea)
Tổng công ty khoáng sản Việt Nam - KTV
Tổng công ty đóng tàu Nam Triệu (Nasico)
Các công ty chứng khoán, tài chính.
Công ty cổ phần chứng khoán thủ đô (VP Hà Nội, Chi nhánh Sài Gòn)
Công ty cổ phần chứng khoán ngân hàng thương mại cổ phần Đông Nam Á (SeaBank)
Công ty cổ phần chứng khoán gia Anh
Các công ty dược phẩm tiêu biểu
Công ty cổ phần dược phẩm Hà Nội
Công ty văcxin và sinh phẩm số 1
Công ty dược phẩm châu Hoàng
Công ty dược phẩm Thành Vinh
1.4. Chiếc lược kinh doanh của công ty và kế hoạch phát triển sản phẩm:
1.4.1. Chiến lược sản xuất, kinh doanh của công ty
Cybersoft là công ty chuyên sâu trong lĩnh vực hoạt động sản xuất, triển khai ứng dụng phần mềm quản trị doanh nghiệp, kế toán khách hàng nên mỗi thành viên trong công ty phải đứng về phía người sử dụng, luôn coi lợi ích của khách hàng là lợi ích của công ty, luôn cung cấp cho khách hàng những phần mềm và dịch vụ có chất lượng cao. Cybersoft luôn luôn xây dựng và cải tiến chất lượng song song với việc áp dụng công nghệ mới vào phần mềm.
Cybersoft luôn luôn hướng tới là một tập thể đoàn kết, mỗi thành viên trong công ty luôn ý thức được vai trò nhiệm vụ của mình đồng thời cũng luôn tạo điều kiện hổ trợ nhau trong mọi công việc cũng như trong cuộc sống. Các sản phẩm của Cybersoft được sản xuất ra dựa trên một quy trình chặt chẽ từ khâu lập kế hoạch, khảo sát, phân tích, thiết kế, sản xuất đến test kiểm tra phần mềm.
1.4.2. Kế hoạch phát triển sản phẩm
Kế hoạch phát triển sản phẩm của công ty là liên tục cải tiến đặc tính của sản phẩm để ngày càng thỏa mãn tốt hơn nhu cầu của khách hàng và xã hội. Việc cải tiến sản phẩm được tiến hành với các hướng chính là nghiệp vụ và công nghệ, song song với việc nâng cao các dịch vụ phần mềm như triển khai, hướng dẫn sử dụng. hỗ trợ bảo hành phần mềm.
Bên cạnh đó công ty còn:
Triển khai ứng dụng phần mềm của công ty cách có hiệu quả cho khách hàng của công ty có trình độ khác nhau về công nghệ cũng như về tin học.
Thiết kế và phát triển các sản phẩm phần mềm quản trị doanh nghiệp như: phần mềm quản lý bán hàng, phần mềm quản lý nhân sự và tiền lương, phần mềm quản lý kho, quản lý công văn. Thiết kế và phát triển các phần mềm cho các loại hình tổ chức, doanh nghiệp khác nhau như sản xuất, dịch vụ, chứng khoán, xây dựng.
1.5. Định hướng đề tài thực tập tốt nghiệp
1.5.1. Lý do chọn đề tài
Với công nghệ thông tin, thông tin được thu thập, xử lý, phổ biến, một cách nhanh chóng, chính xác và có hiệu quả. Đã đi qua thời tính toán, lưu trữ dữ liệu bằng các phương pháp thủ công truyền thống mang nặng tính chất lạc hậu, lỗi thời. Công nghệ thông tin đã đi vào các ngành với một phương thức hoạt động hoàn toàn mới mẻ,sáng tạo và nhanh chóng mà không mất đi sự chính xác. Đặc biệt, nó đã đánh dấu một bước ngoặt trong việc áp dụng tin học vào trong hệ thống quản lý.
Qua thời gian thực tập, em nhận thấy công tác quản lý thuốc ở các hiệu thuốc là bước quan trọng trong công tác phân phối thuốc. Với công tác quản lý thuốc của hiệu thuốc mà ta có những thông tin, báo cáo về lượng hàng nhập, hàng xuất, hàng tồn của hiệu thuốc. Đây cũng là một trong những mối quan tâm của rất nhiều hiệu thuốc trong giai đoạn hiện nay. Chính vì vậy mà em đã chọn đề tài: “Xây dựng phần mềm quản lý thuốc tại hiệu thuốc Long Tâm-Hà Nội “.
1.5.2. Phạm vi ứng dụng của đề tài
Trong quá trình học tập nghiên cứu và viết đề tài: “Xây dựng phần mềm quản lý thuốc.” tại cửa hiệu thuốc Long Tâm, em đã áp dụng những kiến thức đã học ở trường và quá trình tìm hiểu thực tế tại cửa hàng thuốc để xây dựng một đề tài hoàn chỉnh gồm đầy đủ các bước: Khảo sát, phân tích, thiết kế lập trình, cài đặt và chạy thử phần mềm.
Do thời gian thực tập ngắn và trình độ còn nhiều hạn chế, nên em chỉ xây dựng được một nhánh của trương trình quản lý thuốc, chứ chưa phải là một trương tình quản lý thuốc chuyên nghiệp dành cho một cửa hiệu thuốc. Em chỉ cố gắng mô tả quy trình xây dựng một phần mềm thông qua khảo sát thực tế.
Phần mềm dự kiến là sẽ được viết bằng ngôn ngữ VB6 với cơ sở dữ liệu là Access 2003. Vì phầm mềm được xây dựng chủ yếu dưới dạng học thuật nên việc lựa chọn trên là hợp lý: Đảm bảo tiến độ về thời gian(ngôn ngữ VB6 rất dễ dử dụng và tỏ ra thích hợp cho những phần mềm được xây dựng trong thời gian ngắn). Cơ sở dữ liệu là Access 2003 là hợp lý vì nó rất đơn giản và phổ biến không qua công kềnh như SQL2005(gần 1GB) hoặc Oracle(hơn 2GB).
Đề tài được ứng dụng trong nội bộ của hiệu thuốc triển khai dự án cụ thể ở đây là hiệu thuốc Long Tâm-Hà Nội. Bên cạnh đó đề tài có thể được ứng dụng và triển khai tại các hiệu thuốc khác nhằm tạo ra hiệu quả cao cho quá trình tiến hành kinh doanh của các hiệu thuốc.
1.5.3 Đối với người thực hiện đề tài.
Thực tập là một khâu quan trọng trong công việc đưa sinh viên đến với thực tế. Qua việc thực tập tại công ty phần mềm Cybersoft và sự hướng dẫn của thầy Trịnh Hoài Sơn em đã học hỏi được nhiều điều: Quy trình để xây dựng một phần mềm chuyên nghiệp, cách thức làm việc theo nhóm.
1.5.4. Chức năng chủ yếu của chương trình
Chức năng bán thuốc: bao gồm các công việc nhận xử lý đơn thuốc, kiểm tra thuốc, cập nhật hàng xuất và quản lý hàng bị trả lại.
Chức năng mua thuốc: bao gồm các hoạt động cập nhật danh mục thuốc, kiểm tra thuốc theo danh mục và cập nhật hàng nhập.
Chức năng xử lý kho thuốc: gồm các hoạt động kiểm tra hàng xuất, nhập, tổng hợp kho hàng và đưa ra cảnh báo với những thuốc sắp hết trong kho, cần phải nhập thêm.
Chức năng quản lý thuốc tới hạn: đưa ra danh sách thuốc sắp hết hạn, số lượng còn lại,… và đưa ra biện pháp xử lý đối với những thuốc đó.
Chức năng lập thống kê báo cáo: bao gồm các hoạt động truy xuất dữ liệu từ cơ sở dữ liệu của phần mềm, tính toán tổng hợp và đưa ra các báo cáo hợp lý như báo cáo doanh thu, báo cáo xuất nhập, báo cáo tồn kho,….
Chương II: Một số vấn đề phương pháp luận cơ bản về quy trình thiết kế, xây dựng và triển khai một phần mềm ứng dụng.
I. Khái niệm về phần mềm và công nghệ phần mềm, phân loại phần mềm
1.1. Khái niệm về phần mềm và công nghệ phần mềm.
1.1.1. Khái niệm về phần mềm.
* Hiện nay, có rất nhiều cách khác nhau để định nghĩa về phần mềm.Sau đây là một số cách định nghĩa về phần mềm:
+ Phần mềm là tập hợp tất cả các câu lệnh do các lập trình viên viết ra để hướng máy tính làm một số công việc cụ thể nào đó.
+ Theo giáo trình tin học đại cương của khoa tin học ĐH kinh tế quốc dân thì: “Phần mềm máy tính là các chương trình, cấu trúc dữ liệu làm cho chương trình xử lý được những thông tin thích hợp và các tài liệu mô tả phương thức sử dụng các chương trình ấy. Phần mềm luôn được bổ sung và sửa đổi một cách thường xuyên”
* Để có được phần mềm, các nhà lập trình phải sử dụng các ngôn ngữ lập trình để viết, ngôn ngữ lập trình là ngôn ngữ trung gian giữa ngôn ngữ giao tiếp của con người với ngôn ngữ máy, ngôn ngữ càng gần với ngôn ngữ con người thì gọi là ngôn ngữ cấp cao, càng gần ngôn ngữ máy thì gọi là ngôn ngữ cấp thấp.
Chương trình dịch
Ngôn ngữ máy
Ngôn ngữ lập trình bậc cao
Ngôn ngữ của con người
Ngôn ngữ lập trình bậc thấp
Chương trình dịch
1.1.2. Khái niệm về công nghệ phần mềm
* Công nghệ phần mềm là một lĩnh vực nghiên cứu mới của tin học, được triển khai trong giai đoạn phát triển rất cao của tin học và viễn thông khi phần mềm đã trở thành một ngành công nghiệp.
* Công nghệ phần mềm là môn khoa học nghiên cứu các phương pháp, các thủ tục và các công cụ đi từ phân tích thiết kế đến quản lý một dự án phần mềm nhằm đạt được các mục tiêu của dự án.
* Công nghệ phần mềm bao gồm một tập hợp với 3 yếu tố chủ chốt: Công cụ và thủ tục, giúp cho người quả lý có thể kiểm soát được quá trình phát triển phần mềm va cung cấp cho kỹ sư phần mềm một nền tảng để xây dựng một phần mềm chất lượng cao.
1.2. Phân loại phần mềm.
` * Có nhiều cách khác nhau để phân loại phần mềm. Sau đây là một số cách phân loại thường thấy:
1.2.1. Phần mềm ứng dụng
1.2.1.1. Phần mềm cho những ứng dụng tổng quát:
- Là những phần mềm đáp ứng được những công việc mang tính phổ thông thường ngày của hầu hết người sử dụng. Ví dụ:
+ Chương trình duyệt Web cho phép người sử dụng có thể khai thác kho dữ liệu khổng lồ trên Internet để phục vụ cho công việc của mình: Internet Explorer, Opera…
+ Phần mềm nhận và gửi thư điện tử giúp chúng ta giữ lien hệ với mọi đối tác cho dù họ ở bất kỳ đâu trên thế giới thông qua mạng Internet: Outlook Express…
+ Hệ soạn thảo điều khiển máy tính hoạt động như một máy chữ để giúp người dùng biên soạn các tài liệu như công văn, thư từ… Hệ soạn thảo văn bản được sử dụng nhiều nhất là MS Word.
+ Hệ quản trị cơ sở dữ liệu giúp lưu chữ, tổ chức, sắp sếp, cập nhật thông tin và tìm kiểm thông tin khi cần thiết. Ở Việt Nam hệ quản trị CSDL được dung nhiều nhất là hệ quản trị: Foxpro và MS Access.
1.2.1.2 Phần mềm cho những mục đích cụ thể.
+Phần mềm kinh doanh: Gồm các chương trình giúp các doanh nghiệp hoàn thành những nhiệm vụ xử lý thông tin có tính chất thủ tục lặp đi lặp lại hàng ngày, hang tháng, hang quý hay hang năm. Phần mềm kinh doanh khác phần mềm sản suất ở chỗ nó nhấn mạnh vào những nhiệm vụ trên phạm vi toàn cơ quan như phần mềm kế toán, quản lý nhân sự…Các phần mềm được dung nhiều nhất hiện nay là Fast và Effect.
+ Phần mềm giải trí bao gồm các trò chơi và các chương trình để giúp tiêu khiển, giải trí. Hiện nay, khi mức của con người càng cao thì các phần mềm thuộc loại nay đang lên ngôi.
+ phần mềm giáo dục và tham khảo giúp cung cấp kiến thức, kỹ năng về một chủ thể, lĩnh vực nào đó, cung cấp các bộ cơ sở dữ liệu cho phép tra cứu thông tin theo yêu cầu: Phần mềm tra cứu từ điển…
1.2.2. Phần mềm hệ thống.
* Phần mềm hệ thống bao gồm các chương trình quản lý, hỗ trợ các tài nguyên và điều hành các hoạt động của hệ thống máy tính.
1.2.2.1 Phần mềm quản lý hệ thống
+ Hệ điều hành: Là một bộ trương trình phục vụ cho việc quản lý chặt chẽ hệ thống tính toán và tổ chức khai thác chúng một cách tối ưu.
+ Các chương trình tiện ích: Được xây dựng với mục đích bổ xung them các dịch vụ cần cho người mà hệ điều hành chưa đáp ứng được hay là đã có nhưng chọn vẹn: Winzar, Foxit reader…
+ Các chương trình điều khiển thiết bị giúp máy tính điều khiển một thiết bị nào đó mà không có trong danh sách những thiết bị phần cứng được hệ điều hành hỗ trợ: Các loại Card màn hình..
1.1.2.2. Phần mềm phát triển hệ thống:
+ Các chương trình dịch có nhiệm vụ dịch các chương trình viết bằng ngôn ngữ thuật toán sang ngôn ngữ máy tính để có thể hiểu và xử lý được.
+ Ngôn ngữ lập trình là công cụ để diễn tả thuật toán thành chương trình cho máy tính thực hiện. Cho đến nay đã có 5 thế hệ ngôn ngữ lập trình: Java của sun, dot net của Microsoft…
II- Chu kỳ sống của một phần mềm:
*Một số cách phân chia quá trình thiết kế ứng dụng.
2.1. Chu kỳ sống của dự án tuần tự
2.1.1.Giai đoạn khởi tạo.
Khởi tạo dự án là một giai đoạn xác định nhu cầu của ứng dụng và xác định đầy đủ vấn đề để tập hợp đội ngũ đánh giá vấn đề đó. Bổ nhiệm các cá nhân và các đối tác liên quan, bổ nhiệm các bên tham gia của mỗi tổ chức vào nhóm xây dựng phân mềm. Đầu ra của giai đoạn này là một bản ghi hoặc một tài liệu chính thức chỉ ra các nguồn tài trợ, xác định vấn đề các bên tham gia.
2.1.2 Giai đoạn nghiên cứu tính khả thi
Tính khả thi có được từ kết quả phân tích các rủi do, chi phí và lợi nhuận liên quan đến các vấn đề kinh tế, kỹ thuật và tổ chức của người sử dụng. các vấn đề đặt ra phải được xem xét chi tiết để đảm bảo rằng mọi khía cạnh của tính khả thi đã được xem xét đến.
Báo các tổng quát về tính khả thi bao gồm:
+ Vấn đề đặt ra.
+ Tính khả thi về mặt kinh tế, kỹ thuật và tổ chức.
+ Những rủi ro và bất ngờ liên quan đến ứng dụng.
+ Ý tưởng thích hợp nhất về sản phẩm phần mềm và giải thích tại sao nó tốt hơn các sản phẩm khác cùng loại.
+ Các cầu huấn luyện và lịch trình dự định.
+ Dự đoán nhân sự cho dự án tính theo từng giai đoạn và mức độ yêu cầu.
2.1.3. Giai đoạn phân tích.
* Yêu cầu về chức năng hệ thống được thiết kế để làm gì? Khuân dạng các định nghĩa này vào phương pháp luận sử dụng trong giai đoạn phân tích.
+ Yêu cầu về cấu hình – các thiết bị cuối, các thông điệp, thời gian trả lời của mạng, dung lượng vào/ ra, yêu cầu thời gian sử lý.
+ Yêu cầu về giao diện - dữ liệu trao đổi với các ứng dụng và đơn vị khác là gì? định nghĩa bao gồm cả tính thời gian, khuôn dạng của dữ liệu trao đổi.
+ Các chuẩn xây dựng phần mềm - dạng cấu trúc, tính thời gian, nội dung cơ bản của tại liệu cần đưa ra trong quá trình xây dựng phần mềm. định dạng thông tin bao gồm nội dung của dữ liệu từ điển hay kho lưu trữ đối với việc thiết kế đối tượng, nội dung báo cáo dự án, các yêu cầu cần thiết khác được giám sát bởi nhóm tham gia dự án.
2.1.4. Giai đoạn thiết kế ở mức quan niệm.
Các cách giọi khác bao gồm thiết kế sơ bộ, thiết kế logic, thiết kế bên ngoài hay định danh các yêu cầu của phần mềm. Hoạt động chính của thiết kế quan niệm là định nghĩa chức năng chi tiết của tất cả các nhân tố bên ngoài của một chương trình ứng dụng, nó bao gồm màn hình hiển thị, báo cáo, đơn vị dữ liệu hội thoại, và các khuân mẫu. Cả nội dung và cách trình bày ở mức này. Hơn nữa, mô hình dữ liệu logic được chuyển sang sơ đồ cơ sở dữ liệu logic, hoặc các khung nhìn của người sử dụng.
2.1.5. Giai đoạn thiết kế.
* Những thuật ngữ khác dung để miêu tả các hoạt động thiết kế bao gồm thiết kế chi tiết, thiết kế vật lý, thiết kế bên trong và thiết kế sản phẩm. Trong suốt giai đoạn thiết kế, kỹ sư phần mềm phải tạo, sưu tập tài liệu và kiểm tra.
+ Kiến trúc phần mềm: Định danh và định nghĩa chương trình, các khối độc lập, các chức năng, các luật, các đối tượng và các mối quan hệ giữa chúng.
+ Các thành phần và các khối của phần mềm: định nghĩa một cách chi tiết nội dung và các chức năng của thàng phần, bao gồm đầu vào\ra, sự hiển thị, báo cáo, dữ liệu, các file, các kết nôi và các tiến trình.
+ Giao diện: Nội dung chi tiết, tính toán thời gian, với trách nhiệm cụ thể, và thiết kế dữ liệu được trao đổi với những ứng dụng hay tổ chức khác.
+ Kiểm tra: Xác định chiến lược, nhiệm vụ, và tính toán thời gian cho mọi loại hình khiểm tra cần được tiến hành.
+ Dữ liệu: Là việc xác định cách thể hiện vật lý của dữ liệu trên các thiết bị, và các yếu tố yêu cầu, tính toán thời gian, nhiệm vụ phân giã, sao chép các bản sao dữ liệu.
2.1.6.Giai đoạn thiết kế hệ thống.
+ Cấu trúc điều khiển trình ứng dụng: Xác định bằng cách nào một trương trình hay một khối độc lập được kích hoạt và nó sẽ về đâu khi kết thúc.
+ Cấu trúc dữ liệu và sơ đồ cài đặt vật lý: Trong môi trường Cơ sở dữ liệu, hoạt động này bao gồm việc sác định một thư viện dữ liệu tập trung, các đường hộp thoại, và vùng đệm cho việc sử dụng hệ quản trị dữ liệu.
+ Định kích thước: Xác định bất kỳ một trương trình và vùng đệm mà nó dự tính như là một bộ nhớ trú ngụ đối vói chế độ trực tiếp hay các tiến trình theo thời gian thực.
+ Thuật toán chính: Chỉ ra các vấn đề toán học cho phép kiểm tra một cách độc lập tính đúng đắn của công thức.
+ Thuật toán chính: Chỉ ra các vấn đề toán học cho phép kiểm tra một cách độc lập tính đúng đăn của công thức.
+ Các thành phần của chương trình: Định danh, tên, và tính chất sử dụng. Về mặt thể hiện tính chất bao gồm các thủ tục dữ liệu, các thủ tục, khối khác có thể bị gọi trong quá trình sử lý của khối này, kích thước hang đợi, vùng đệm và các yêu cầu của tiến trình.
2.1.7. Giai đoạn triển khai:
Việc thực hiện triển khai còn được gọi là cài đặt và cho phép sử dụng. Triển khai là quá trình một sản phẩm phần mềm được tích hợp vào môi trường làm việc và cho phép sử dụng. Thực hiện triển khai bao gồm sự hoàn chỉnh của chuyển đổi dữ liệu, cài đặt và đào tạo sử dụng. Vào thời điểm này của chu trình một dự án quá trình phát triển phần mềm kết thúc, và giai đoạn bảo hành, bảo trì bắt đầu. Việc bảo trì tiếp tục cho đến khi dự án kết thúc.
2.1.8. Giai đoạn vận hành và bảo trì.
Vận hành và bảo trì là một giai đoạn trong quá trình sản xuất phầm mềm ở đó sản phẩm phần mềm được sử dụng trong môi trường làm việc, giám sát đối với hiệu quả thống kê, và sửa đổi nếu cần thiết.
2.1.9. Giai đoạn loại bỏ.
Đây là giai đoạn trong quá trình sản xuất phần mềm mà tại đó việc cung cấp sản phẩm phần mềm kết thúc. Thông thường, các chức năng của sản phẩm phần mềm được chuyển tới một hệ thống kế tiếp.
2.1.10. Các hoạt động thường xuyên.
Có hai hoạt động phổ biến trong mỗi giai đoạn là: Kiểm kê, phê chuẩn và quản lý cấu hình. Tổng kết mỗi giai đoạn là sự kiểm tra phê chuẩn. Đó chính là mục tiêu của sản phẩm. Việc kiêm tra đưa ra khuân mẫu đúng đắn tương ứng giữa sản phẩm phần mềm và đặc tính của nó. Sự phê chuẩn đưa ra chuẩn mực về sự phù hợp hay chất lượng của sản phẩn phần mềm đối với mục đích của quá trình sử dụng. Một người quản lý dự án được chỉ định nắm giữ phiên bản chính của mỗi sản phẩm.
2.2. Mô hình phát triển tiến hoá của phần mềm
Mô hình phát triển tiến hoá của phần mềm
Dàn ý
mô tả
Đặc tả
Phát triển
Đánh giá
Phiên bản khởi động
Phiên bản cuối
Các phiên bản trung gian
Các thao tác song song
Mô hình phát triển phần mềm theo kiểu tiến hoá
2.2.1. Phân loại sự phát triển tiến hóa
+ Lập trình thăm dò: đối tượng của quá trình bằng cách làm việc với khách hàng để thăm dò các yêu cầu và phân phối phần mềm dứt diểm. Sự phát triển nên bắt đầu với những phần nào đã được hiểu rõ. Phần mềm sẽ được thêm vào các chức năng mới khi mà nó được đề nghị cho khách hàng (và nhận về các thông tin).
+ Mẫu thăm dò: đối tượng của phát triển tiến hoá này là nhằm hiểu các yêu cầu của khách hàng và do đó phát triển các định nghĩa yêu cầu tốt hơn cho phần mềm. Các mẫu tập trung trên các thí nghiệm với những phần đòi hỏi nào của khách hàng mà có thể gây sự khó hiểu hay ngộ nhận.
2.2.2 Phân tích mô hình:
* Mô hình phát triển tiến hóa này hiệu quả hơn mô hình thác nước. Tuy nhiên, nó vẫn còn các khuyết điểm:
+ Quá trình thì không nhìn thấy rõ được: Các nhà quản lý cần phân phối thường xuyên để đo lường sự tiến bộ. Nó không kinh tế trong việc làm ra các hồ sơ cho phần mềm.
+ Phần mềm thường dược cấu trúc nghèo nàn: Sự thay đổi liên tục dễ làm đổ vỡ cấu trúc của phần mềm, tạo ra sự khó khăn và tốn phí.
+ Thường đòi hỏi những kỹ năng đặc biệt: Hầu hết các hệ thống khả dĩ theo cách này được tiến hành bởi các nhóm nhỏ có kỹ năng cao cũng như các cá nhân phải năng động.
2.2.3 Mô hình này thích hợp với:
+ Phát triển các loại phần mềm tương đối nhỏ
+ Phát triển các loại phần mềm có đời sống tương đối ngắn
+ Tiến hành trong các hệ thống lớn hơn ở những chỗ mà không thể biểu thị được các đặc tả chi tiết trong lúc tiến hành. Thí dụ của trường hợp này là các hệ thống thông minh nhân tạo (AI) và các giao diện cho người dùng.
2.3 Các công việc thực hiện và các sản phẩm chuyển giao:
Công việc
Sản phẩm bàn giao
1 - Xây dựng và quản lý HĐ phần mềm
Đề xuất tham gia HĐPM
Lập giải pháp kĩ thuật, hồ sơ PM
Xây dựng HĐPM
Theo dõi thực hiện HĐPM
Thanh toán, thanh lý
Báo cáo tổng kết
- Văn bản hợp đồng xây dựng PM
- Giải pháp thực hiên
2 - Xác định yêu cầu
Lập kế hoạch xác định yêu cầu
Khảo sát
Phân tích nghiệp vụ
Phân tích yêu cầu người sử dụng
Mô tả hoạt động của nhà thuốc Trúc Tâm
Báo cáo tổng kết
- Hồ sơ xác định yêu cầu khách hàng :
+ Tài liệu phân tích nghiệp vụ
+ Tài liệu mô tả hoạt động
+ Tài liệu phân tích yêu cầu người sử dụng
3 - Phân tích, thiết kế
Lập kế hoạch thiết kế
Thiết kế kiến trúc
Thiết kế dữ liệu
Thiết kế thủ tục
Thiết kế chương trình
Thiết kế giao diện
Báo cáo tổng kết
Hồ sơ kiến trúc phần mềm
Hồ sơ thiết kế kỹ thuật
4 - Lập trình
Lập kế hoạch lập trình
Lập trình thư viện chung
Thiết kế các module
Tích hợp
Test
Báo cáo tổng kết quy trình
Sản phẩm phần mềm
Bộ công cụ cài đặt
5- Test
Lập kế hoạch Test
Kịch bản Test
Test hệ thống
Test nghiệm thu
Hồ sơ Test
Biên bản ghi nhận quy trình Test
PM đã được test đúng hạn
6- Triển Khai
Lập giải pháp kĩ thuật
Kế hoạch triển khai
Cài đặt máy chủ
Cài đặt máy mạng
Vận hành PM
Đào tạo sử dụng
Biên bản triển khai
Biên bản cài đặt
Chương III: Xây dựng phần mềm quản lý thuốc hiệu thuốc Long Tâm-Hà Nội
I. Phân tích hệ thống
1.1 Lập kế hoạch xác định yêu cầu:
1.2 Khảo sát hệ thống:
Qua quá trình khảo sát hệ thống một số thông tin tôi đã thu thập được như sau:
Quy mô: Đó là 1 toà nhà 2 tầng, mỗi tầng 50m2, nằm tại một khu đông dân cư.
Trang thiết bị: Gồm 2 máy tính (1 máy trạm ở tầng dưới và 1 máy chủ ở tầng trên )
Phần mềm : Hiện tại cửa hàng chỉ dung PM văn phòng Excel để hỗ trợ việc quản lý và bán hàng.
Nguồn nhân lực: Hiện tại cửa hàng có 6 nhân viên, trong đó có 4 nhân viên bán hang và nhân viên kế toán, và 1 người quản lý.
Doanh thu: Cửa hàng hiện kinh doanh hơn 100 loại thuốc và có doanh thu khoảng 200 triệu VND/tháng
1.3 Sơ đồ chức năng
Cửa hàng thuốc được quản lý qua các phân hệ nhỏ là bán hàng, mua hàng, xử lý kho thuốc, xử lý tổng hợp, thống kê báo cáo.(chúng ta có thể xem sơ đồ sau để nắm rõ hơn )
1.4 Phân tích yêu cầu người sử dụng:
Yêu cầu cập nhật nhanh, chính xác, cụ thể, lên được báo cáo theo mong muốn và cảnh báo thuốc sắp tới hạn.Như vậy khách hàng yêu cầu một PM với DM thuốc rõ rang, dễ hiểu, chức năng lên báo cáo linh hoạt theo kỳ, và PM có chức năng cảnh báo thuốc sắp tới hạn.
1.5 Mô tả hoạt động của hệ thống:
1.5.1 Sơ đồ ngữ cảnh:
Đầu tiên khách hàng sẽ gửi yêu cầu mua đến cửa hàng, nếu yêu cầu được chấp nhận thì thuốc sẽ được bán và khách hàng sẽ nhận phiếu thanh toán từ cửa hàng.
Cửa hàng thuốc có đơn đặt hàng gửi nhà cung cấp, khi đó danh mục thuốc của nhà cung cấp sẽ được gửi tới cửa hàng , cửa hàng xem xét danh mục , đưa ra đơn đặt hàng cuối cùng. Công việc cuối là thanh toán và nhận hoá đơn nhập.
Trong quá trình hoạt động các báo cáo được lập và được gửi tới ban giám đốc cửa hàng theo yêu cầu.
1.5.2 Sơ đồ DFD mức 0 :
Khách hàng gửi yêu cầu mua hàng tơi bộ phận bán hàng, bộ phận này sẽ gửi phiếu xuất tới kho dữ liệu hàng xuất, thông tin hàng xuất sẽ được gửi tới BP xử lý kho hàng, nếu trong kho còn hàng thì hàng sẽ xuất kho và được gửi cho khách hàng, KH nhận hoá đơn rồi thanh toán. Bộ phận mua hàng sẽ chịu trách nhiệm lập phiếu mua hàng của cửa hàng khi nhân được yêu cầu từ khách hàng hoặc thông tin từ kho hàng. BP mua hàng có đơn đặt hàng gửi nhà cung cấp, khi đó danh mục thuốc của nhà cung cấp sẽ được gửi tới cửa hàng , cửa hàng xem xét danh mục , đưa ra đơn đặt hàng cuối cùng. Công việc cuối là thanh toán và nhận hoá đơn nhập. Một phiếu nhập sẽ được BP mua hàng gửi tới kho dữ liệu hàng nhập.
Trong quá trình bán không tránh khỏi viêc ứ đọng thuốc. Do đó BP xử lý thuốc sắp tới hạn sẽ làm nhiệm vụ lấy các thông tin về hạn sử dụng từ BP xử lý kho hàng, lên danh mục giảm giá và các chế độ khuyên mại gửi tới khách hàng, gửi danh mục thuốc tới đại lý để được hỗ trợ, lập báo cáo gửi BGĐ, và chuyển các thông tin đã xử lý tới BP thống kê báo cáo để lên BC tổng hợp. BP thống kê thu thâp thông tin từ BP xử lý kho hàng và BP
Trong trường hợp hàng hoá bị trả lại thì BP bán hàng sẽ xem xét và chuyển vấn đề cho BP kiểm tra. Nếu lỗi do cửa hàng thì KH sẽ nhận lại toàn bộ số tiền đã mua.
1.5.3 Sơ đồ DFD mức 1( Bán hàng )
1.5.4 Sơ đồ DFD mức 1( mua hàng)
1.5.5 Sơ đồ DFD mức 1(Xử lý kho hàng)
1.5.6 Sơ đồ DFD mức 1( Xử lý thuốc sắp tới hạn)
1.5.7 Sơ đồ DFD mức 1(Thống kê báo cáo)
II. Vấn đề và giải pháp
2.1.Vấn đề
Sau khi nghiên cứu nghiệp vụ hiệu thuốc, tôi đã xác định được các vấn đề cần phải được giải quyết trong phần mềm như sau:
* Các nghiệp vụ bán và mua thuốc, bao gồm việc nhập thuốc vào kho từ phía các nhà cung cấp và bán thuốc cho khách hàng.
* Các nghiệp vụ xử lý kho thuốc, bao gồm các hoạt động nhập kho, xuất kho, xử lý hàng tồn kho,….
* Các nghiệp vụ để quản lý thuốc tới hạn. Thuốc tới hạn là thuốc sắp hết hạn sử dụng. Việc quản lý thuốc tới hạn nhằm thông báo kịp thời cho nhà thuốc các loại thuốc sắp hết hạn sử dụng là thuốc gì, với số lượng bao nhiêu,… để nhà thuốc kịp thời đưa ra phương án xử lý trước khi nó hết hạn sử dụng.
* Lập các thống kê báo cáo, như danh mục thuốc nhập trong kỳ, doanh thu.
2.2. Giải pháp
Với những vấn đề đã nêu ra như trên, phương hướng giải quyết cho phần mềm như sau:
Phần mềm sẽ có những chức năng chính sau đây:
Chức năng bán thuốc: bao gồm các công việc nhận xử lý đơn thuốc, kiểm tra thuốc, cập nhật hàng xuất và quản lý hàng bị trả lại.
Chức năng mua thuốc: bao gồm các hoạt động cập nhật danh mục thuốc, kiểm tra thuốc theo danh mục và cập nhật hàng nhập.
Chức năng xử lý kho thuốc: gồm các hoạt động kiểm tra hàng xuất, nhập, tổng hợp kho hàng và đưa ra cảnh báo với những thuốc sắp hết trong kho, cần phải nhập thêm.
Chức năng quản lý thuốc tới hạn: đưa ra danh sách thuốc sắp hết hạn, số lượng còn lại,… và đưa ra biện pháp xử lý đối với những thuốc đó.
Chức năng lập thống kê báo cáo: bao gồm các hoạt động truy xuất dữ liệu từ cơ sở dữ liệu của phần mềm, tính toán tổng hợp và đưa ra các báo cáo hợp lý như báo cáo doanh thu, báo cáo xuất nhập, báo cáo tồn kho,….
Sơ đồ chức năng
QUẢN LÝ BÁN THUỐC
Bán hàng
Mua hàng
Quản lý
Thuốc tới hạn
Thống kê
báo cáo
Xử lý kho thuốc
Nhận xử lý đơn thuốc
KTra thuốc
Cập nhật hàng xuất
Quản lý hàng trả lại
Cập nhật danh mục thuốc
Kiểm tra thuốc theo danh mục
Cập nhật hàng nhập
Lên danh sách thuốc sắp hết hạn
Biện pháp xử lý
Truy xuất dữ liệu
Tính toán tổng hợp
Chuẩn bị báo cáo
Kiểm tra hàng xuất
KT hàng nhập
Tổng hợp kho hàng
Cảnh báo lượng thuốc sắp hết
III. Thiết kế hệ thống
Sau khi đã xác định những tính năng cơ bản mà phần mềm bán thuốc cần phải có, các thiết kế kỹ thuật được đưa ra bao gồm:
Thiết kế kiến trúc
Phần mềm sẽ bao gồm các phân hệ: quản lý hệ thống, mua hàng, bán hàng, quản lý kho, quản lý thuốc tới hạn, lập thống kê báo cáo.
Quản lý bán thuốc
Quản lý hệ thống
Mua hàng
Bán
hàng
Quản lý kho
Quản lý thuốc tới hạn
Thống kê báo cáo
Thiết kế dữ liệu
Dữ liệu của phần mềm bao gồm: danh mục thuốc, danh mục khách hàng, danh mục nhà cung cấp, danh mục nhân viên, hóa đơn mua thuốc, hóa đơn bán thuốc và danh mục đối tượng. Cụ thể như sau:
3.2.1. Sơ đồ cấu trúc dữ liệu
3.2.2 Danh mục thuốc
STT
Tên trường
Độ rộng
Kiểu
Diễn giải
1
MaThuoc
10
Text
Mã thuốc
2
TenThuoc
30
Text
Tên thuốc
3
ViTri
6
Text
Vị trí
4
DVT
5
Text
Đơn vị tính
5
DonGia
10
Text
Đơn giá
6
NgaySX
Date/Time
Ngày sản xuất
7
NgayHetHan
Date/Time
Ngày hết hạn
8
NoiSX
50
Text
Nơi sản xuất
3.2.3 Danh mục khách hàng
STT
Tên trường
Độ rộng
Kiểu
Diễn giải
1
MaKH
10
Text
Mã khách hàng
2
TenKH
30
Text
Tên khách hàng
3
DiaChi
50
Text
Địa chỉ
4
MaSoThue
15
Text
Mã số thuế
3.2.4 Danh mục nhà cung cấp
3.2.5 Danh mục nhân viên
3.2.6 Hóa đơn mua thuốc
3.2.7 Hóa đơn bán thuốc
3.2.8 Danh mục đối tượng
3.3 Thiết kế sơ đồ khối
Với nhiều bản ghi khác nhau, tôi đã thiết kế rất nhiều sơ đồ khối liên quan đến các hoạt động của phần mềm. Dưới đây tôi chỉ nêu sơ đồ khối của hoạt động đăng nhập hệ thống và hoạt động thêm bản ghi
.1 Sơ đồ đăng nhập
Bắt đầu
Nhập tên NSD
Kiểm tra tên
i:=1
Nhập mật khẩu
Kiểm tra MK
Thông báo sai MK
Thoát khỏi chương trình
i<=3
Kết thúc
Vào trang mặc định
S
Đ
Đ
i:=i+1
S
S
Đ
3.3.2 Sơ đồ thêm bản ghi
3.3.3 Thuật toán xuất báo cáo
IV. Các giao diện chính của chương trình
4.1 Form đăng nhập
Giao diện chính của chương trình
4.3 Danh mục thuốc
4.4 Danh mục đối tượng
4.5 Danh mục nhà cung cấp
4.6 Phiếu nhập thuốc
4.7 Đơn thuốc
4.8 Tra cứu thuốc
4.9 Tra cứu theo nhà cung cấp
4.10 Form báo cáo thuốc nhập
4.11 Form báo cáo thuốc xuất
Form báo tiền nhập thuốc
4.13 Báo cáo thuốc xuất
4.14 Báo cáo thuốc nhập
4.15 Báo cáo tiền nhập thuốc
4.16 Báo cáo xuất nhập tồn
KẾT LUẬN
Hệ thống thông tin quản lý bán thuốc có một vai trò quan trọng trong hoạt động kinh doanh của bất kỳ một hiệu thuốc nào dù quy mô lớn hay nhỏ và đặc biệt quan trọng đối với hiệu thuốc lớn như hiệu thuốc Long Tâm-Hà Nội .Nó là một khâu quan trọng trong quá trình kinh doanh của các hiệu thuốc và nó góp phần vào sự phát triển của các hiệu thuốc không chỉ trong giai đoạn hiện tại và cả trong tương lai.
Trong thời gian thực tập e đã xây dựng đuợc phần mềm quản lý thuốc hiệu thuốc Long Tâm – Hà Nội có các chức năng quản lý được danh mục nhân viên, danh mục nhà cung cấp, danh mục thuốc, phiếu nhập thuốc, đơn thuốc … từ đó lên được các báo cáo về lượng thuốc xuất, lượng thuốc nhập, tiền nhập thuốc, lượng thuốc tồn đầu kỳ.
Trong thời gian tới e có định hướng xây dựng thêm chức năng chiết khấu thanh toán, giảm giá hang bán cho những cá nhân, hay đơn vị mua thuốc với số lượng lớn.
Qua đây em cũng đã học hỏi được nhiều điều trong cách tư duy và trình bày vấn đề. Tuy nhiên, do còn thiếu kinh nghiệm và thời gian có hạn nên chương trình còn có những hạn chế nhất định: chưa có tính chuyên nghiệp cao, chưa giải quyết được trọn vẹn những vấn đề nảy sinh trong công tác quản lý,thuật toán ở đây có thể còn chưa tối ưu dẫn đến giải quyết vấn đề chưa thấu đáo...nhưng chương trình cũng đã giải quyết được một phần yêu cầu của quản lý .Trong giai đoạn tới em sẽ dựa trên những ý kiến nhận xét của các thầy cô giáo để hoàn thành tốt hơn đề tài này.
Em xin chân thành cảm ơn Th.s Nguyễn Anh Phương và giám đốc Lê Cảnh Toàn đã giúp đỡ e rất nhiều trong quá trình thực tập và thực hiện Đề Án.
DANH MỤC TÀI LIỆU THAM KHẢO
Ngôn ngữ và ứng dụng Visual Basic 6.0
Nhà xuất bản phương đông2006
Ví dụ và bài tập Visual Basic 6.0
Nhà xuất bản Lao động xã hội 2006
3 Cơ Sở Dữ Liệu 1 và 2
Trần Công Uẩn – Nhà xuất bản Thống Kê
4 Hệ Thống thông tin quản lý
T.S Trương Văn Tú –T.S Trần Thị Song Minh- Nhà xuất bảnThống Kê
5 Cấu trúc Dữ Liệu và Giải Thuật
PGS.TS Hàn Viết Thuận – Nhà xuất bản thống kê
Tự học Visual Basic 6.0 trong 21 ngày
Nhà xuất bản Thống Kê
7 Tự học Microfsoft Access 2000
Nhà xuất bản Thống Kê
8 Trang http:\\ vovisoft.com
9 Bài giảng Công nghệ phần mềm của PGS TS Hàn Viết Thuận.
Phụ Lục
Một số đoạn Code của chương trình
Báo cáo thuốc xuất
Private Sub cmdin_Click()
Dim str As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
If thoidiem.Value = True Then
str = "SELECT DMThuoc.TenThuoc, Sum((ChiTietDon.SoLuong*donthuoc.sothang)/1000) AS tsl, DonThuoc.Ngay, ChiTietDon.MaThuoc,dmthuoc.dvt FROM DMThuoc INNER JOIN (ChiTietDon INNER JOIN DonThuoc ON ChiTietDon.SoDon=DonThuoc.SoDon) ON DMThuoc.MaThuoc=ChiTietDon.MaThuoc GROUP BY DMThuoc.TenThuoc, DonThuoc.Ngay, ChiTietDon.MaThuoc, dmthuoc.dvt HAVING (DonThuoc.Ngay=#" & doingay(Ngay.Text) & "#)"
rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox " Khong tim thay ban ghi thoa man", vbOKOnly + vbExclamation, "Thong bao"
Else
DataEnvironment2.Commands(8).CommandText = str
If DataEnvironment2.rsTHUOCNGAY1.State = 0 Then
DataEnvironment2.rsTHUOCNGAY1.Open
End If
DataEnvironment2.rsTHUOCNGAY1.Requery
R_THUOCNGAY.Sections("section4").Controls.Item("ngay").Caption = Me.Ngay
R_THUOCNGAY.Show 1
End If
End If
If thoiky.Value = True Then
DataEnvironment2.xuatkhoang (Trim(tungay)), (Trim(denngay))
R_XUATKHOANG.Sections("section4").Controls.Item("tungay").Caption = Me.tungay
R_XUATKHOANG.Sections("section4").Controls.Item("denngay").Caption = Me.denngay
R_XUATKHOANG.Show 1
DataEnvironment2.rsxuatkhoang.Close
End If
End Sub
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub denngay_GotFocus()
denngay.BackColor = &HC0E0FF
End Sub
Private Sub denngay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdin.SetFocus
End Select
End Sub
Private Sub denngay_LostFocus()
denngay.BackColor = &HFFFFFF
denngay = Trim(denngay)
End Sub
Private Sub Form_Load()
'tungay.SetFocus
'open_mdb
End Sub
Private Sub Ngay_GotFocus()
Ngay.BackColor = &HC0E0FF
End Sub
Private Sub Ngay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdin.SetFocus
End Select
End Sub
Private Sub Ngay_LostFocus()
Ngay.BackColor = &HFFFFFF
Ngay = Trim(Ngay)
End Sub
Private Sub thoidiem_Click()
If thoidiem.Value = True Then
tungay.Enabled = False
denngay.Enabled = False
'Ngay.SetFocus
End If
End Sub
Private Sub thoiky_Click()
If thoiky.Value = True Then
Ngay.Enabled = False
tungay.SetFocus
End If
End Sub
Private Sub tungay_GotFocus()
tungay.BackColor = &HC0E0FF
End Sub
Private Sub tungay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
denngay.SetFocus
End Select
End Sub
Private Sub tungay_LostFocus()
tungay.BackColor = &HFFFFFF
tungay = Trim(tungay)
End Sub
Báo cáo thuốc nhập
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub cmdxem_Click()
'Dim str
'str = "SELECT PhieuNhapct.mathuoc,dmthuoc.tenthuoc, phieunhap.ngay,phieunhapct.dvt, Sum(phieunhapct.soluong) AS tsl FROM PhieuNhap,phieunhapct,dmthuoc where phieunhap.sopn=phieunhapct.sopn and phieunhapct.mathuoc=dmthuoc.mathuoc and phieunhap.ngay > #" & doingay(tungay.Text) & "# and phieunhap.ngay < #" & doingay(denngay.Text) & " # GROUP BY PhieuNhapct.mathuoc, phieunhap.ngay, phieunhapct.dvt,dmthuoc.tenthuoc"
display_listview
End Sub
Private Sub denngay_GotFocus()
denngay.BackColor = &HC0E0FF
End Sub
Private Sub denngay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdxem.SetFocus
End Select
End Sub
Private Sub Form_Load()
'open_mdb
tungay.Enabled = True
denngay.Enabled = True
ListView1.Enabled = False
End Sub
Private Sub cmdin_Click()
Dim str
str = "SELECT phieunhapct.mathuoc,dmthuoc.tenthuoc,sum(phieunhapct.soluong) as tsl,dmthuoc.dvt FROM DMThuoc INNER JOIN (PhieuNhap INNER JOIN PhieuNhapCT ON PhieuNhap.SoPN = PhieuNhapCT.SoPN) ON DMThuoc.MaThuoc = PhieuNhapCT.MaThuoc where phieunhap.ngay>=# " & doingay(tungay.Text) & " # and phieunhap.ngay<=# " & denngay.Text & " # group by phieunhapct.mathuoc,dmthuoc.tenthuoc,dmthuoc.dvt"
DataEnvironment2.Commands(11).CommandText = str
If DataEnvironment2.rsNHAPT.State = 0 Then
DataEnvironment2.rsNHAPT.Open
End If
DataEnvironment2.rsNHAPT.Requery
R_NHAPT.Sections("section4").Controls.Item("tungay").Caption = Me.tungay
R_NHAPT.Sections("section4").Controls.Item("denngay").Caption = Me.denngay
R_NHAPT.Show 1
End Sub
Private Sub display_listview()
Dim str
Dim rr As ADODB.Recordset
Set rr = New ADODB.Recordset
Dim mm As ListItem
ListView1.ListItems.Clear
'str = "SELECT PhieuNhapCT.MaThuoc, DMThuoc.TenThuoc, PhieuNhapCT.dvt, Sum(PhieuNhapCT.SoLuong) AS tsl, PhieuNhap.Ngay FROM DMThuoc INNER JOIN (PhieuNhap INNER JOIN PhieuNhapCT ON PhieuNhap.SoPN = PhieuNhapCT.SoPN) ON DMThuoc.MaThuoc = PhieuNhapCT.MaThuoc where month(phieunhap.ngay)='" & Trim(txtthang.Text) & "' GROUP BY PhieuNhapCT.MaThuoc, DMThuoc.TenThuoc, PhieuNhapCT.dvt, PhieuNhap.Ngay"
'str = " SELECT dmthuoc.tenthuoc,phieunhapct.dvt, Sum(phieunhapct.SoLuong) AS tsl From dmthuoc, phieunhapct, phieunhap Where dmthuoc.mathuoc = phieunhapct.mathuoc And phieunhap.sopn=phieunhapct.sopn And Month(phieunhap.ngay) =" + CStr(txtthang.Text) + " And Year(donthuoc.ngay) = Year(Date()) GROUP BY dmthuoc.tenthuoc, phieunhapct.dvt "
'str = "SELECT PhieuNhapct.mathuoc,dmthuoc.tenthuoc,phieunhap.ngay,phieunhapct.dvt, Sum(phieunhapct.soluong) AS tsl FROM phieunhapct,dmthuoc where phieunhap.mathuoc=dmthuoc.mathuoc and phieunhap.sopn=phieunhapct.sopn and phieunhap.ngay > #" & Trim(Tungay.Text) & "# and phieunhap.ngay < #" & Trim(denngay.Text) & "# GROUP BY PhieuNhapct.mathuoc, phieunhap.ngay,dmthuoc.tenthuoc,phieunhapct.dvt"
str = "SELECT phieunhapct.mathuoc,dmthuoc.tenthuoc,sum(phieunhapct.soluong) as tsl,dmthuoc.dvt FROM DMThuoc INNER JOIN (PhieuNhap INNER JOIN PhieuNhapCT ON PhieuNhap.SoPN = PhieuNhapCT.SoPN) ON DMThuoc.MaThuoc = PhieuNhapCT.MaThuoc where phieunhap.ngay>=#" & doingay(tungay.Text) & " # and phieunhap.ngay<=#" & doingay(denngay.Text) & " # group by phieunhapct.mathuoc,dmthuoc.tenthuoc,dmthuoc.dvt"
'MsgBox str
rr.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText
If rr.EOF Then
MsgBox "KHONG TIM THAY GIA TRI THOA MAN!.", vbOKCancel + vbExclamation, "Thong bao"
Exit Sub
Else
While Not rr.EOF
Set mm = ListView1.ListItems.Add(, , rr!tenthuoc)
mm.SubItems(1) = rr!dvt
mm.SubItems(2) = rr!tsl
rr.MoveNext
Wend
End If
End Sub
Private Sub tungay_GotFocus()
tungay.BackColor = &HC0E0FF
End Sub
Private Sub tungay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
denngay.SetFocus
End Select
End Sub
Private Sub tungay_LostFocus()
tungay.BackColor = &HFFFFFF
End Sub
Báo cáo tiền nhập thuốc
Private Sub cmdin_Click()
Dim str
'str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and month(phieunhap.ngay)=" + CStr(Text1.Text) + " and year(phieunhap.ngay)=year(date()) GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay"
str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and phieunhap.ngay > #" & doingay(text1.Text) & "# and phieunhap.ngay < #" & doingay(text2.Text) & "# GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay"
'str="SELECT PhieuNhapct.mathuoc,dmthuoc.tenthuoc, phieunhap.ngay,phieunhapct.dvt, Sum(phieunhapct.soluong) AS ttien FROM PhieuNhap,phieunhapct,dmthuoc where phieunhap.sopn=phieunhapct.sopn and phieunhapct.mathuoc=dmthuoc.mathuoc and phieunhap.ngay > # " & trim(t. # and phieunhap.ngay < #02/02/2006# GROUP BY PhieuNhapct.mathuoc, phieunhap.ngay, phieunhapct.dvt,dmthuoc.tenthuoc"
DataEnvironment2.Commands(6).CommandText = str
If DataEnvironment2.rsTIEN.State = 0 Then
DataEnvironment2.rsTIEN.Open
End If
DataEnvironment2.rsTIEN.Requery
R_TTIENPN.Sections("section2").Controls.Item("tungay").Caption = Me.text1
R_TTIENPN.Sections("section2").Controls.Item("denngay").Caption = Me.text2
R_TTIENPN.Show 1
End Sub
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub cmdxem_Click()
If text1.Text = "" Or text2.Text = "" Then
MsgBox "Ph¶i nhËp ®ñ d÷ liÖu tríc khi lu", vbOKOnly + vbExclamation, "Th«ng b¸o"
Else
display_listview
End If
End Sub
Private Sub Form_Load()
'open_mdb
text1.Enabled = True
ListView1.Enabled = True
End Sub
Private Sub display_listview()
Dim str
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim mm As ListItem
ListView1.ListItems.Clear
'str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and month(phieunhap.ngay)=" + CStr(Text1.Text) + " and year(phieunhap.ngay)=year(date()) GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan"
str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan,phieunhap.ngay, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and phieunhap.ngay > #" & doingay(text1.Text) & "# and phieunhap.ngay< #" & doingay(text2.Text) & "# and year(phieunhap.ngay)=year(date()) GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan,phieunhap.ngay"
rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox "Khong tim thay gia tri nao thoa man", vbOKOnly + vbExclamation, "Th«ng b¸o"
Exit Sub
Else
While Not rs.EOF
Set mm = ListView1.ListItems.Add(, , rs!sopn)
mm.SubItems(1) = rs!Ngay
mm.SubItems(2) = rs!ttien
mm.SubItems(3) = rs!nguoinhan
rs.MoveNext
Wend
End If
rs.Close
End Sub
Private Sub Text1_GotFocus()
text1.BackColor = &HC0E0FF
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
text2.SetFocus
End Select
End Sub
Private Sub Text1_LostFocus()
text1.BackColor = &HFFFFFF
text1 = Trim(text1)
End Sub
Private Sub Text2_GotFocus()
text2.BackColor = &HC0E0FF
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdxem.SetFocus
End Select
End Sub
Private Sub Text2_LostFocus()
text2.BackColor = &HFFFFFF
text2 = Trim(text2)
End Sub
Báo cáo thuốc xuất theo đối tượng
Private Sub cmdin_Click()
DataEnvironment2.thuoddt (Trim(dtcb1.Text)), (Trim(tungay)), (Trim(denngay))
R_THUOCDTUONG.Sections("section4").Controls.Item("tungay").Caption = Me.tungay
R_THUOCDTUONG.Sections("section4").Controls.Item("denngay").Caption = Me.denngay
R_THUOCDTUONG.Sections("section2").Controls.Item("ma").Caption = Me.dtcb1.Text
R_THUOCDTUONG.Sections("section2").Controls.Item("ten").Caption = Me.Tendt.Caption
R_THUOCDTUONG.Show 1
DataEnvironment2.rsthuoddt.Close
End Sub
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub denngay_GotFocus()
denngay.BackColor = &HC0E0FF
End Sub
Private Sub denngay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdin.SetFocus
End Select
End Sub
Private Sub denngay_LostFocus()
denngay.BackColor = &HFFFFFF
denngay = Trim(denngay)
End Sub
Private Sub dtcb1_Change()
If dtcb1.Text "" Then
Dim rs As Recordset
Dim mydb As Database
Dim str As String
Set mydb = OpenDatabase(App.Path + "\db1.mdb")
str = "select tendt from dmdt where madt='" & Trim(dtcb1.Text) & "'"
Set rs = mydb.OpenRecordset(str)
If rs.RecordCount 0 Then
Tendt.Caption = rs.Fields("tendt")
Else
Tendt.Caption = "Khong co"
rs.Close
mydb.Close
End If
End If
End Sub
Private Sub dtcb1_GotFocus()
dtcb1.BackColor = &HC0E0FF
End Sub
Private Sub dtcb1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
tungay.SetFocus
End If
End Sub
Private Sub dtcb1_LostFocus()
Dim rs As Recordset
Dim mydb As Database
Dim str As String
If dtcb1.Text "" Then
Set mydb = OpenDatabase(App.Path + "\db1.mdb")
str = "select tendt from dmdt where madt='" & Trim(dtcb1.Text) & "'"
Set rs = mydb.OpenRecordset(str)
If rs.RecordCount > 0 Then
Tendt.Caption = rs.Fields("tendt")
Else
Tendt.Caption = "Khong co trong danh sach"
dtcb1.Text = ""
dtcb1.SetFocus
End If
rs.Close
mydb.Close
End If
dtcb1.BackColor = &HFFFFFF
End Sub
Private Sub Form_Load()
'open_mdb
End Sub
Private Sub Label1_Click()
End Sub
Private Sub tungay_GotFocus()
tungay.BackColor = &HC0E0FF
End Sub
Private Sub tungay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
denngay.SetFocus
End Select
End Sub
Private Sub tungay_LostFocus()
tungay.BackColor = &HFFFFFF
tungay = Trim(tungay)
End Sub
Báo cáo xuất nhập tồn
Private Sub cmdin_Click()
Dim str
str = "SELECT chitietdon.MaThuoc, dmthuoc.TenThuoc, dmthuoc.dvt, Sum((chitietdon.soluong*donthuoc.sothang)/1000) AS tsl, donthuoc.Ngay From chitietdon, dmthuoc, donthuoc, dmnv Where ((donthuoc.sodon) = chitietdon.sodon) And ((chitietdon.mathuoc) = dmthuoc.mathuoc) And ((donthuoc.manv) = dmnv.manv) and donthuoc.manv= '" & Trim(dtcb1.Text) & "' and donthuoc.ngay > #" & doingay(tungay.Text) & " # and donthuoc.ngay< # " & doingay(denngay.Text) & " # GROUP BY chitietdon.MaThuoc, dmthuoc.TenThuoc, dmthuoc.dvt, donthuoc.Ngay,donthuoc.manv"
DataEnvironment2.Commands(12).CommandText = str
If DataEnvironment2.rsTHUOCKHOA.State = 0 Then
DataEnvironment2.rsTHUOCKHOA.Open
End If
DataEnvironment2.rsTHUOCKHOA.Requery
R_THUOCKHOA.Sections("section4").Controls.Item("lbltungay").Caption = Me.tungay
R_THUOCKHOA.Sections("section4").Controls.Item("denngay").Caption = Me.denngay
R_THUOCKHOA.Sections("section4").Controls.Item("khoa").Caption = Me.Label5.Caption
R_THUOCKHOA.Show 1
End Sub
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub cmdxem_Click()
If dtcb1.Text = "" Or tungay.Text = "" Or denngay.Text = "" Then
MsgBox "Phai nhap du thong tin!", vbOKOnly + vbExclamation, "Thong bao"
Else
display_listview
End If
End Sub
Private Sub display_listview()
Dim str
Dim mm As ListItem
ListView1.ListItems.Clear
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
str = "SELECT chitietdon.MaThuoc, dmthuoc.TenThuoc, dmthuoc.dvt, Sum(chitietdon.soluong1000) AS tsl, donthuoc.Ngay From chitietdon, dmthuoc, donthuoc, dmnv Where (((donthuoc.sodon) = chitietdon.sodon) And ((chitietdon.mathuoc) = dmthuoc.mathuoc) And ((donthuoc.manv) = dmnv.manv) And ((donthuoc.ngay) > #" & doingay(tungay) & "# And (donthuoc.ngay) < #" & doingay(denngay) & "#)) And dmnv.manv = '" & Trim(dtcb1.Text) & "' GROUP BY chitietdon.MaThuoc, dmthuoc.TenThuoc, dmthuoc.dvt, donthuoc.Ngay;"
rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox "Khong tim thay gia tri thoa man", vbOKOnly + vbExclamation, "Thong bao"
Exit Sub
Else
While Not rs.EOF
Set mm = ListView1.ListItems.Add(, , rs!mathuoc)
mm.SubItems(1) = rs!tenthuoc
mm.SubItems(2) = rs!dvt
mm.SubItems(3) = rs!tsl
rs.MoveNext
Wend
rs.Close
End If
End Sub
Private Sub denngay_GotFocus()
denngay.BackColor = &HC0E0FF
End Sub
Private Sub denngay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdxem.SetFocus
End Select
End Sub
Private Sub denngay_LostFocus()
denngay.BackColor = &HFFFFFF
denngay = Trim(denngay)
End Sub
Private Sub dtcb1_Change()
If dtcb1.Text "" Then
Dim rs As Recordset
Dim mydb As Database
Dim str As String
Set mydb = OpenDatabase(App.Path + "\db1.mdb")
str = "select khoa from dmnv where manv='" & Trim(dtcb1.Text) & "'"
Set rs = mydb.OpenRecordset(str)
If rs.RecordCount 0 Then
Label5.Caption = rs.Fields("khoa")
Else
Label5.Caption = "Khong co"
rs.Close
mydb.Close
End If
End If
End Sub
Private Sub dtcb1_GotFocus()
dtcb1.BackColor = &HC0E0FF
End Sub
Private Sub dtcb1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
tungay.SetFocus
End If
End Sub
Private Sub dtcb1_LostFocus()
Dim rs As Recordset
Dim mydb As Database
Dim str As String
If dtcb1.Text "" Then
Set mydb = OpenDatabase(App.Path + "\db1.mdb")
str = "select khoa from dmnv where manv='" & Trim(dtcb1.Text) & "'"
Set rs = mydb.OpenRecordset(str)
If rs.RecordCount > 0 Then
Label5.Caption = rs.Fields("khoa")
Else
Label5.Caption = "Khong co trong danh sach"
dtcb1.Text = ""
dtcb1.SetFocus
End If
rs.Close
mydb.Close
End If
dtcb1.BackColor = &HFFFFFF
End Sub
Private Sub Form_Load()
'open_mdb
dtcb1.Enabled = True
tungay.Enabled = True
denngay.Enabled = True
ListView1.Enabled = False
End Sub
Private Sub tungay_GotFocus()
tungay.BackColor = &HC0E0FF
End Sub
Private Sub tungay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
denngay.SetFocus
End Select
End Sub
Private Sub tungay_LostFocus()
tungay.BackColor = &HFFFFFF
tungay = Trim(tungay)
End Sub
Báo cáo tiền thuốc nhập
Private Sub cmdin_Click()
Dim str
'str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and month(phieunhap.ngay)=" + CStr(Text1.Text) + " and year(phieunhap.ngay)=year(date()) GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay"
str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and phieunhap.ngay > #" & doingay(text1.Text) & "# and phieunhap.ngay < #" & doingay(text2.Text) & "# GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan, phieunhap.ngay"
'str="SELECT PhieuNhapct.mathuoc,dmthuoc.tenthuoc, phieunhap.ngay,phieunhapct.dvt, Sum(phieunhapct.soluong) AS ttien FROM PhieuNhap,phieunhapct,dmthuoc where phieunhap.sopn=phieunhapct.sopn and phieunhapct.mathuoc=dmthuoc.mathuoc and phieunhap.ngay > # " & trim(t. # and phieunhap.ngay < #02/02/2006# GROUP BY PhieuNhapct.mathuoc, phieunhap.ngay, phieunhapct.dvt,dmthuoc.tenthuoc"
DataEnvironment2.Commands(6).CommandText = str
If DataEnvironment2.rsTIEN.State = 0 Then
DataEnvironment2.rsTIEN.Open
End If
DataEnvironment2.rsTIEN.Requery
R_TTIENPN.Sections("section2").Controls.Item("tungay").Caption = Me.text1
R_TTIENPN.Sections("section2").Controls.Item("denngay").Caption = Me.text2
R_TTIENPN.Show 1
End Sub
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub cmdxem_Click()
If text1.Text = "" Or text2.Text = "" Then
MsgBox "Ph¶i nhËp ®ñ d÷ liÖu tríc khi lu", vbOKOnly + vbExclamation, "Th«ng b¸o"
Else
display_listview
End If
End Sub
Private Sub Form_Load()
'open_mdb
text1.Enabled = True
ListView1.Enabled = True
End Sub
Private Sub display_listview()
Dim str
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim mm As ListItem
ListView1.ListItems.Clear
'str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and month(phieunhap.ngay)=" + CStr(Text1.Text) + " and year(phieunhap.ngay)=year(date()) GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan"
str = "SELECT PhieuNhap.SoPN, phieunhap.nguoinhan,phieunhap.ngay, Sum([soluong]*[dongia]) AS ttien FROM PhieuNhap,phieunhapct where phieunhap.sopn=phieunhapct.sopn and phieunhap.ngay > #" & doingay(text1.Text) & "# and phieunhap.ngay< #" & doingay(text2.Text) & "# and year(phieunhap.ngay)=year(date()) GROUP BY PhieuNhap.SoPN, phieunhap.nguoinhan,phieunhap.ngay"
rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF Then
MsgBox "Khong tim thay gia tri nao thoa man", vbOKOnly + vbExclamation, "Th«ng b¸o"
Exit Sub
Else
While Not rs.EOF
Set mm = ListView1.ListItems.Add(, , rs!sopn)
mm.SubItems(1) = rs!Ngay
mm.SubItems(2) = rs!ttien
mm.SubItems(3) = rs!nguoinhan
rs.MoveNext
Wend
End If
rs.Close
End Sub
Private Sub Text1_GotFocus()
text1.BackColor = &HC0E0FF
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
text2.SetFocus
End Select
End Sub
Private Sub Text1_LostFocus()
text1.BackColor = &HFFFFFF
text1 = Trim(text1)
End Sub
Private Sub Text2_GotFocus()
text2.BackColor = &HC0E0FF
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdxem.SetFocus
End Select
End Sub
Private Sub Text2_LostFocus()
text2.BackColor = &HFFFFFF
text2 = Trim(text2)
End Sub
Báo cáo tồn kho
Dim tn, dn As Date
Private Sub cmdin_Click()
If optall.Value = True Then
DataEnvironment2.tk (Trim(tungay)), (Trim(denngay))
R_TK.Sections("section4").Controls.Item("tungay").Caption = Me.tungay
R_TK.Sections("section4").Controls.Item("denngay").Caption = Me.denngay
R_TK.Show 1
DataEnvironment2.rstk.Close
End If
If optthuoc.Value = True Then
DataEnvironment2.thekho (Trim(dtcbma.Text)), (Trim(tungay)), (Trim(denngay))
R_THEKHO.Sections("section4").Controls.Item("tungay").Caption = Me.tungay
R_THEKHO.Sections("section4").Controls.Item("denngay").Caption = Me.denngay
R_THEKHO.Show 1
DataEnvironment2.rsthekho.Close
End If
End Sub
Private Sub cmdthoat_Click()
Unload Me
End Sub
Private Sub dtcbma_Change()
If dtcbma.Text "" Then
Dim rs As Recordset
Dim mydb As Database
Dim str As String
Set mydb = OpenDatabase(App.Path + "\db1.mdb")
str = "select tenthuoc from dmthuoc where mathuoc='" & Trim(dtcbma.Text) & "'"
Set rs = mydb.OpenRecordset(str)
If rs.RecordCount 0 Then
tenthuoc.Caption = rs.Fields("tenthuoc")
Else
tenthuoc.Caption = "Khong co"
rs.Close
mydb.Close
End If
End If
End Sub
Private Sub dtcbma_GotFocus()
dtcbma.BackColor = &HC0E0FF
End Sub
Private Sub dtcbma_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
tungay.SetFocus
End If
End Sub
Private Sub dtcbma_LostFocus()
Dim rs As Recordset
Dim mydb As Database
Dim str As String
If dtcbma.Text "" Then
Set mydb = OpenDatabase(App.Path + "\db1.mdb")
str = "select tenthuoc from dmthuoc where mathuoc='" & Trim(dtcbma.Text) & "'"
Set rs = mydb.OpenRecordset(str)
If rs.RecordCount > 0 Then
tenthuoc.Caption = rs.Fields("tenthuoc")
Else
tenthuoc.Caption = "Khong co trong danh sach"
dtcbma.Text = ""
dtcbma.SetFocus
End If
rs.Close
mydb.Close
End If
dtcbma.BackColor = &HFFFFFF
End Sub
Private Sub Form_Load()
'open_mdb
dtcbma.Enabled = True
tungay.Enabled = True
denngay.Enabled = True
End Sub
Private Sub denngay_GotFocus()
denngay.BackColor = &HC0E0FF
End Sub
Private Sub denngay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
cmdin.SetFocus
End Select
End Sub
Private Sub tungay_GotFocus()
tungay.BackColor = &HC0E0FF
End Sub
Private Sub tungay_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
denngay.SetFocus
End Select
End Sub
Private Sub tungay_LostFocus()
tungay.BackColor = &HFFFFFF
tungay = Trim(tungay)
End Sub
Private Sub optall_Click()
dtcbma.Enabled = False
tungay.SetFocus
End Sub
Private Sub optthuoc_Click()
dtcbma.Enabled = True
tungay.Enabled = True
tungay.Enabled = True
End Sub
MỤC LỤC
Các file đính kèm theo tài liệu này:
- X1033.DOC