Đề 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 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ấ...

doc80 trang | Chia sẻ: hunglv | Lượt xem: 1067 | Lượt tải: 1download
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 l­u", 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 l­u", 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:

  • docX1033.DOC