基于Java的医药销售管理系统的设计

上传人:仙*** 文档编号:123583736 上传时间:2022-07-22 格式:DOC 页数:62 大小:4.08MB
返回 下载 相关 举报
基于Java的医药销售管理系统的设计_第1页
第1页 / 共62页
基于Java的医药销售管理系统的设计_第2页
第2页 / 共62页
基于Java的医药销售管理系统的设计_第3页
第3页 / 共62页
点击查看更多>>
资源描述
摘 要伴随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。医药各种信息的管理是医药行业管理中的重要部分,面对大量的药品信息,采用人工处理将浪费大量的时间、人力和物力,并且数据准确性低,数据汇总速度慢。为解决这一问题,开发一个界面友好、易于操作的综合软件成为医药企业的首选。本系统从操作简便、界面友好、灵活、实用、安全的要求出发,完成对进货、销售、库存管理全过程信息的跟踪与管理,包括对操作员与系统数据的维护,信息的添加、删除、查询、统计等。本医药销售管理系统是按照各医药行业中各种批发、零售及经销公司的进、销、存方面的需求进行设计的,是企业信息化管理的理想工具。本系统采用MyEclipse 8.6作为开发工具,采用Mysql作为后台数据库。以及采用了JAVA开发技术,采用MVC架构对系统进行构造。前台运用Swing技术,后台运用J2EE中Hibernate和Spring轻量级的框架。【关键词】医药销售管理系统;Myeclipse8.6;Mysql;Swing.Abstract Along with the rapid development of computer technology and computer science popularization , more and more people began to use computers to solve practical problems. Medical management of a variety of information management in the pharmaceutical industry is an important part of the face of a large number of drug information , the use of manual processing will waste a lot of time, manpower and material resources , and low data accuracy , data collection and slow. To solve this problem , the development of a user-friendly, easy to operate integrated software of choice for pharmaceutical companies .The system from a simple, user-friendly, flexible, practical and safety requirements, the completion of the purchase, sales, inventory management, tracking and management of the whole process of information, including data on the operator and the system maintenance information to add , delete, query, statistics and so on. The pharmaceutical sales management system is in accordance with the needs of the pharmaceutical industry in a variety of wholesale, retail and distribution companies , sales, save aspects of the design , is the ideal tool for enterprise information management.The system uses MyEclipse 8.6 as a development tool, using Mysql as the backend database . And the use of the JAVA development techniques , the use of MVC architecture of the system configuration. Reception use Swing technology background in the use of J2EE Hibernate and Spring lightweight frame. 【Keywords】 Pharmaceutical sales management system ; Myeclipse8.6; Mysql; Swing. 目 录第1章 绪 论11.1 研究背景11.2国内外研究现状11.3 前景意义31.4 系统特征31.5 论文组织结构4第2章 系统相关技术基础52.1 MyEclipse8.6简介52.2 Mysql简介52.3 SQL语言简介52.4 本章小结6第3章 系统分析73.1可行性分析73.1.1技术可行性73.1.2经济可行性73.1.3操作可行性73.2需求分析73.3系统的需求描述83.3.1 系统用例图83.3.2 系统活动图113.4本章小结13第4章 概要设计144.1 项目规划144.2 系统功能结构图144.3 本章小结15第5章 系统详细设计165.1 数据库设计165.1.1 数据项设计165.1.2 数据库的概念结构设计165.2 逻辑结构设计195.2.1 数据库模型图195.2.2 数据表195.3 系统主框架布局与实现225.3.1 搭建环境225.3.2登录界面的设计235.3.2 主窗体设计255.3.3 药品模块设计295.3.4 药品采购模块设计315.3.5 库存模块设计345.3.6销售退款模块设计365.3.7 入库明细查询模块设计405.3.8 用户模块设计455.4 本章总结48第6章 系统测试496.1 测试目的496.2 测试结果496.2.1操作员登录测试496.2.2 药品采购测试506.2.3 药品销售测试516.2.4 库存盘点测试526.3 本章总结52第7章 系统总结与展望537.1 总结537.2 展望53参考文献54致谢56第1章 绪 论1.1 研究背景随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。医药各种信息的管理是医药行业管理中的重要部分,面对大量的药品信息,采用人工处理将浪费大量的时间、人力和物力,并且数据准确性低,数据汇总速度慢。为解决这一问题,开发一个界面友好、易于操作的综合软件成为医药企业的首选1。通过计算机对企业信息流通过程中的数据进行自动化管理是开发本系统的主要目的。 整个系统从操作简便、界面友好、灵活、实用、安全的要求出发,完成对进货、销售、库存管理全过程信息的跟踪与管理,包括对操作员与系统数据的维护,信息的添加、删除、查询、统计等。本文所设计的医药综合管理系统可以满足医药行业中各种批发、零售及经销公司的进、销、存方面的需要,是企业信息化管理的理想工具。现在伴着医疗制度改革的进行,药品招标采购的逐年规范和扩大,药品管理已经成为药剂科乃至整个医院管理的重要内容。传统的管理模式已经跟不上顾客对快节奏生活的要求了!随着计算机的普及和计算机软件的不断发展,越来越多的医疗机构开始注视计算机这个辅助工具为自己带来的效益了2。医院的售药机构需要通过计算机提高自已工作效率、对药品实现进销存管理和职工管理,提高经济效益1.2国内外研究现状上世纪五十年代,计算机就开始应用于管理中。当时只是用于处理简单的工资单。由于经济的不断发展,计算机在管理中的应用也在不断增加。据计算机应用方面发展较快的国家统计,计算机永夜经济管理的约占80%;用于科技运算的占8%;用于生产过程控制的占12%。因此,经济管理师计算机应用的主要领域。销售时经济管理的重要组成部分,在发达国家计算机在销售管理中的应用已经达到很高的水平3。医院药品管理信息系统的主要目标是支持医院药品的行政管理与事务处理业务,减轻事务处理人员的劳动强度,辅助医院药品管理,辅助高层领导决策,提高医院药品的工作效率,从而使医院药品能够以少的投入获得更好的社会效益与经济效益,像财务系统、人事系统、药品库存管理系统等就属于管理系统的范围。但是,无论外国还是中国,当一个医院药品的医院药品管理系统刚刚起步时,往往是首先建立医院药品管理信息系统。在国外,发达国家医院药品管理系统的开发实现已有三十多年的历史,至今有了长足的进步,有许多举世公认的成功的系统在医院药品有效地运转着。像盐湖城LDS医院药品的HELP系统,麻省总医院药品的COSTAR系统,退伍军人管理局的DHCP系统。纵观美国的医药库房发展历史,大约可分为三个阶段:第一个十年,集中在开发医院药品行政管理的功能上,像财务收费管理管理等。但到1972年Collen仍报告美国迄今为止连一个成功的已完成的全面医院药品(管理)计算机系统都没有。第二个十年,在继续完成和实现医院药品管理信息的计算机化的同时,开发者的努力已进入医疗信息的处理领域,像病人医疗处理系统,实验室系统等。到1985年,美国全国医院药品数据处理工作调查表明,100张床位以上的医院药品80%实现了计算机财务收费管理,70%的医院药品可支持病人挂号登记和行政事务管理,25%的医院药品有了较完整的MIS。医院药品管理系统正在经历着小型化(DownSizing)、智能化(Intellegence)和集成化(Integration)的改造过程。在国内,一些先进的、运用计算机技术有了一些经验或者成功地运行着某些部门级信息系统的药材公司或医院,迫切地从国内、国际市场上寻求一种较为完整的适合中国国情的药品管理系统产品4。一些大的集团化的药材公司或大中小型医院都迫切地需要国家卫生部及有关信息开发部门集中财力、人力、物力,下真功夫开发出一套适合我国市场的,有中国特色的药材公司药品信息管理系统,满足药材公司和医院药品管理的迫切需求,并进而推动整个中国医药卫生信息产业的形成。趋于这种形势,加上各方面的限制,如本人技术有限、人力不足等,我本着从大处着眼、小处着手、循序渐进,先建一个简单实用的小型医院药品管理系统,然后逐步完善。目前医药管理系统地应用已成为医院管理的重要工具和手段,它的引入有助于改变传统的工作方式,提高工作效率;提高经济效益;加强过程控制,提高医药管理质量;提高医院信誉,增强竞争能力;实现卫生资源共享;强化医院的科学管理等等。总之,药品管理系统应该能够为管理员提供充足的信息和快捷的数据处理手段,对医院药品的各类信息及数据进行处理,做到数据管理及分析,为医院管理者提供一个适用的管理工具,从而方便医院的管理。1.3 前景意义由于医药产品种类繁多、销售模式特殊、业务大,单凭手工记账已很难适应工作的需要。医药作为一个关系到人们健康的特殊行业,国家对此又有一些不同于其他汉特的管理政策,这些都加大了管理的难度。如何尽快建立和完善现代企业的信息管理机制的问题,已成为医药企业发展的关键所在。而方便、安全、快捷的医药管理软件系统正是在这样的背景下发展起来的。这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现一个足够使用的功能,而这种模式也正满足了那种中小型医药公司的要求。但是目前对这种管理软件的开发还处于一种比较原始的阶段。开发者往往都是出于资金和时间的顾虑使用比较陈旧的技术,而且各为己见,并且很少涉及网络。可是当今是一个网络化的社会,单机版的管理软件多如牛毛,去开发一个类似的软件无疑是一种在时间上、精神上和资源上的极大浪费5。所以为这种有需要的中小型企业开发一种基于网络的医药管理软件是非常有实用价值的。 1.4 系统特征本系统结合Java架构和Mysql的强大优势,不但为医药销售管理系统省去了大把时间和金钱,还了促进信息大众化和社会化的进步,另一面又可获得巨大的经济利润,创造出巨大市场空间。本设计为基于Java架构的医药销售管理系统,通过多模块的功能结合实现方便快捷的医药销售管理,解放医药销售人员的双手与大脑。特色也就是所谓的创新点主要表现在本系统在极大的扩展医药销售建设的简洁性及使用的高效性。1.5 论文组织结构这篇论文被分七个章节。绪论是论文的第1章,这一章自上而下说的是医药销售管理系统的研究背景、国内外研究现状、意义、系统结构和论文的组成。第2章说的是医药管理系统所采用的开发工具,主要介绍了MyEclipse8.6,Mysql的功能及优势。第3章是在之前章节的根基上对本系统做出了详细的需求分析,第4章做了概要设计从主要功能模块分析确定了系统开发的作用和意义。可行性分析从技术、经济、操作三个方面分析确定了系统开发的作用和意义,为以后的开发打好基础。论文从第5章开始介绍开发此系统的详细过程,主要包括系统的概要设计包括项目规划、系统功能结构图,系统详细设计包括设计目标、逻辑结构设计、具体实现的功能等。第6章是主要功能的系统测试。最后一章是对本系统的总结与对未来发展和改善的展望。 第2章 系统相关技术基础2.1 MyEclipse8.6简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate1。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能6。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 20132支持HTML5、JQuery和主流的Javascript 库。随着MyEclipse 2013支持Html5,你可以添加音频、视频和API元素到你的项目,从而为移动设备创建复杂的Web应用程序。你甚至还可以通过HTML5 可视化设计器设计令人难以置信的用户界面7。同时,随着MyEclipse 2013支持JQuery,你可以通过插件提升性能,并添加动画效果到设计中。2.2 Mysql简介Mysql是一个开放源码的小型关联式数据库管理系统,开发者为瑞典Mysql AB公司。目前Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库8。2.3 SQL语言简介SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句9。结构化查询语言(StructuredQueryLanguage)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言10。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用11。如今无论是像Oracle、Sybase、DB2、Informix、SQLServer这些大型的数据库管理系统,还是像VisualFoxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言12。SQL语言包含3个部分:数据定义语言DataDefinitionLanguage(DDL),用来建立数据库、数据对象和定义其列。定义:definition/例如:CREATE、DROP、ALTER等语句。数据操作语言DataManipulationLanguage(DML),用来插入、修改、删除、查询,可以修改数据库中的数据13。操作:make/例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句、SELECT(查询)也就是通常我们称之的CRUD操作。数据控制语言DataControllingLanguage(DCL),用来控制数据库组件的存取许可、存取权限等。控制:control/例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句14。SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)15。SQL是用于访问和处理数据库的标准的计算机语言。2.4 本章小结这一章首先介绍Myeclipse8.6的丰富功能和明显的优势,并采用Mysql数据库作为处理数据用的数据库。前后台分工明确,具有很强的可操作性。第3章 系统分析3.1可行性分析 可行性分析必须做到严谨认真。它能分析出你要做系统的成功概率和是不是有真正的开发与使用的价值和意义。不管是为客户做一个项目还是为自己做一个商品,都要进行需求分析16。这样可以使企业减少不必要的损失和资金投入。从而降低系统开发所面临的风险。做系统可行性研究是系统开发过程中的一个计划的过程,它的研究范围非常的广泛,能够设计出简单可行的人事管理系统是非常具有现实意义的17。应从以下三个方面进行本系统的可行性分析:3.1.1技术可行性本设计在windows7系统中采用现在较流行的JSP编程语言设计,采用Mysql建立药品信息数据库,利用Tomcat服务器运行程序,以及JDBC技术访问数据库。对于软件技术要求,现在的程序设计语言已非常成熟,采用B/S模式,利用JSP技术,使用Mysql中提供的数据库18。所以在技术上完全可行。3.1.2经济可行性 当前许多中小型药房都使用人工管理方式(即纸和笔)来管理药品的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小药房应该向大型企业那样采用先进的管理方式,提高药房效率、降低运营成本19。3.1.3操作可行性 界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。所以系统操作上完全可行20。3.2需求分析根据现在一些大中型医药公司、药店、以及药品批发零售商的实际需求,要求本系统具有以下功能。1.统一友好的操作界面,能保证系统的易用性。 2.规范、完善的基础信息设置。 3.全方位、多功能的信息查询。4.连续录入式的用户增添及维护。对药品的录入、采购、销售、退货、盘点等数据信息进行全面的管理。3.3系统的需求描述3.3.1 系统用例图用例图主要用于描述用例与角色之间的相互作用以及系统的行为,系统的用例图描述符号,如图3-1所示。 角色(actor) 用例(use case) 关联(association) 依赖(dependence)图3-1 用例图符号 1.根据对系统的分析,画出系统的顶层用例图,如图3-2所示。图3-2 系统顶层用例图2.基本信息用例图,主要是描述系统管理模块的功能,如图3-3所示。图3-3 基本信息用例图3.业务管理用例图,主要是描述系信息设置模块的功能,如图3-4所示。图3-4 业务管理用例图4.业务查询用例图,主要是描述业务查询模块的功能,如图3-5所示。图3-5 人事管理用例图5.用户管理用例图,主要是描述用户管理模块的功能,如图3-6所示。图3-6 用户管理用例图6.系统管理用例图,主要是描述系统管理模块的功能,如图3-7所示。图3-7 系统管理用例图7窗口用例图,主要是描述窗口模块的功能,如图3-8所示。图3-8 窗口用例图8关于用例图,主要是描述关于模块的功能,如图3-9所示。图3-9 关于用例图系统用例图是在需求分析阶段产生的可视化的描述工具,能够直观、规范的反应系统需求。3.3.2 系统活动图活动图常常被用来描述系统的行为,配合系统用例图完成需求分析阶段对系统复杂交互过程的说明。活动图用到的描述符号,如图3-10所示。 开始(start) 活动(activity) 转换(transition) 判断(decision) 结束(end)图3-10 系统活动图常用符号根据对系统的分析,画出系统主要功能活动图。1.操作员登录活动图,如图3-11所示图3-11 管理员登陆活动图2. 用户管理活动图,如图3-12所示。图3-12 更改密码活动图3. 业务管理活动图,如图3-13所示。图3-13 业务管理活动图4. 业务查询活动图,如图3-14所示。图3-14 员工离职复职活动图5.系统管理活动图,如图3-15所示。图3-15 帮助活动图6.帮助活动图,如图3-16所示。图3-16 帮助活动图3.4本章小结在研发医药销售管理系统之前对此立项进行的可行性分析和需求分析。从技术、经济、操作三个方面对此立项可行性进行了分析。从而确定了所要做的系统所需要的基本功能。第4章 概要设计4.1 项目规划经过收集资料和需求分析,本医药销售管理系统主要有以下6大模块:1. 业务管理模块的主要功能是采购药品、药品销售、销售退款、客户回款。2. 基本信息模块主要功能是药品情况、客户情况、供应商情况。3. 用户管理模块主要功能是新增用户、用户维护。4. 业务查询模块主要是基本查询、入库明细、销售明细、回款信息。5. 窗口管理模块主要是窗口关闭、窗口平铺、窗口最小化、窗口还原6. 技术支持模块主要是版权信息。本系统的运行环境:1. 硬件环境CPU:CORE i3内存:4GB硬盘:硬盘500G2. 软件环境后台数据库: Mysql操作系统: Windows 7开发工具:MyEclipseTomcat6.0JDK1.5或1.5以上Jigloo(Eclipse插件,可视化的GUI)4.2 系统功能结构图医药销售管理系统包含业务系统、基本信息、用户信息、业务查询、窗口管理、帮助6个大的功能模块,在这几个大的功能模块中各自又有自己的详细功能,如图4-1所示。 图 4-1 系统功能结构图4.3 本章小结 这一章介绍的是系统的概要设计,通过对需求分析阶段的分析研究,从而设计出所做系统的大体结构框架。继而对所做系统完善了结构设计,最终获得了所做系统的六个主要模块。 第5章 系统详细设计5.1 数据库设计 5.1.1 数据项设计根据现代中小型医疗企业机构的需求现状和本系统的设计,经过需求分析后,对医疗信息的收集,进行数据库的第一步构造。为下面奠定基础。部分重要数据项如下;1. 药品:药品编号、药品名称、药品条形、拼音码、通用名称、单位、规格、剂型、产地、包装数量、有效期、质量标准、经营方式、批号、零售价格、进货价格等。2. 客户:客户编号、客户名称、拼音编码、客户地址、所属地、邮政编码、联系电话、联系人、开户银行、开户账户等。3. 供应商:供应商编号、供应商名称、拼音编码、供应商地址、所属地区、邮政编码、联系电话、联系人、开户银行、开户账户等。4采购:录单日期、供应商名称、采购品种、经办人、采购总数、合计金额、采购票号等。5. 销售:销售票号、录单日期、经办人、销售客户等。6. 用户:用户ID、用户姓名、重复口令、用户口令等。5.1.2 数据库的概念结构设计通过分析得到了这些数据项之后,下一步要做的就是设计本医药销售管理系统的各个实体,以及它们之间的联系,为后面的逻辑结构打好铺垫。这些实体包含了系统中的具体信息。根据上面的设计规划出实体:药品实体、客户实体、供应商实体、采购实体、销售实体、用户实体。描述各实体的E-R图如下所示。药 .药品实体图,包括药品编号、药品名称、药品条形、拼音码、通用名称、单位、规格、剂型、产地、包装数量、有效期、质量标准、经营方式、批号、零售价格、进货价格、医疗保险编号、药品类名等。如图5-1所示。图5-1 药品实体图客户实体图,包括客户编号、客户名称、拼音编码、客户地址、所属地、邮政编码、联系电话、联系人、开户银行、开户账户等。如图5-2所示。图5-2 客户实体图供应商实体图,包括供应商编号、供应商名称、拼音编码、供应商地址、所属地区、邮政编码、联系电话、联系人、开户银行、开户账户等。如图5-3所示。图5-3 供应商实体图采购实体图,包括录单日期、供应商名称、采购品种、经办人、采购总数、合计金额、采购票号等。如图5-4所示。图5-4 采购实体图销售实体图,包括销售票号、录单日期、经办人、销售客户等。如图5-5所示。图5-5 销售实体图用户实体图,包括用户ID、用户姓名、重复口令、用户口令等。如图5-6所示。图5-6 用户实体图实体E-R图,如图5-7所示图 5-7 实体E-R图5.2 逻辑结构设计5.2.1 数据库模型图该管理系统属于小型系统,Mysql数据库是目前数据库产品运行速度最快的关系型数据库,且是免费的,非常适合该医药进销存系统。所以该系统采用Mysql数据库,用来存储药品信息,及用户个人信息。在这个系统中,数据库为DB_JXC,这个数据库的表树形结构如图5-8所示。图5-8 数据表树形结构5.2.2 数据表下面给出这个系统中比较关键的数据表:1. Buy_detaile(药品采购明细表)这张表主要是用来保存采购药品的明细信息。表结构表5-1所示。表5-1药品采购明细表的结构字段名称数据类型自增主键允许为空默认值入库流水号码varchar(20)是否入库单据号varchar(20)否是药品编号varchar(20)否是入库数量Int(10)否是入库单价Float否是入库金额Float否是入库日期Timestamp否是库存数量Int(10)否是库存状态Char(4)否是2. Buy_main(药品采购明细表)这张表主要是用来保存药品采购数据。表结构如表5-2所示。表5-2药品采购明细表的结构字段名称数据类型自增主键允许为空默认值入库单据号码Varchar(20)是否品种数量Int(10)否是入库数量Int(10)否是入库金额Float否是入库日期Timestamp否是经办人Varchar(10)否是库存状态Varchar(4)否是供应商编号Varchar(20)否是3. Client_jbqkb(客户基本情况表)客户表主要是用来存储客户的基本信息数据,表的结构如5-3所示。表5-3客户基本情况的结构字段名称数据类型自增主键允许为空默认值客户编号Varchar(20)是否客户名称Varchar(80)否是拼音码Varchar(10)否是客户地址Varchar(80)否是所属地区Varchar(40)否是邮政编码Varchar(10)否是电话Varchar(20)否是联系人Varchar(10)否是开户银行Varchar(40)否是开户账户Varchar(20)否是4. Gys_jbqkb(供应商基本情况表)客户表主要是用来存储客户的基本信息数据,表的结构如表5-4所示。表5-4供应商基本情况的结构字段名称数据类型自增主键允许为空默认值供应商编号Varchar(20)是否供应商名称Varchar(80)否是拼音码Varchar(10)否是供应商地址Varchar(80)否是所属地区Varchar(40)否是邮政编码Varchar(10)否是电话Varchar(20)否是联系人Varchar(10)否是开户银行Varchar(40)否是开户账户Varchar(20)否是5. Medicine_jbqkb(药品表)药品表主要用来保存药品信息,表的结构如5-5所示。表5-5药品表的结构字段名称数据类型自增主键允许为空默认值药品编号Varchar(20)是否药品条码Varchar(20)否是药品名称Varchar(80)否是通用码Varchar(20)否是拼音码Varchar(10)否是单位Varchar(4)否是规格Varchar(20)否是剂型Varchar(10)否是产地Varchar(20)否是包装数量Varchar(10)否是有效期Varchar(10)否是质量标准Varchar(20)否是经营方式Varchar(8)否是批号Varchar(10)否是零售价格Float否是进货价格Float否是批发价格Float否是药品类别Varchar(20)否是医疗编号Varchar(10)否是6. Sell_detaile(药品销售明细表)这张表主要用来存储药品的明细信息,表的结构如5-6所示。表5-6药品销售明细表的结构字段名称数据类型自增主键允许为空默认值销售流水号Varchar(20)是否药品编号Varchar(20)否是销售单据号码Varchar(20)否是销售数量Varchar(10)否是销售单据Int否是销售金额Float否是销售日期Float否是退款状态Char(10)否是7. username(用户信息表)这张表主要用来存用户的明细信息,表的表结构如5-7所示。表5-7用户信息表的结构字段名称数据类型自增主键允许为空默认值用户IDVarchar(20)是否用户账号Varchar(20)否是用户密码Varchar(20)否是重复密码Varchar(50)否是5.3 系统主框架布局与实现5.3.1 搭建环境 新建一个Java Project,命名为Medical Systems。 在lib文件夹下导入所需的包。如图5-9所示。图5-9 lib包建立package包,如图5-10所示。图5-10 package包在com.zhangxiang包存放医药管理主界面和登陆页面;在com.zhangxiang.dao包下存放DAO工具类;在com.zhangxiang.constrol包下存放控制页面逻辑类;在com.zhangxiang.view包下存放页面;在images包下存放所需的图片。5.3.2登录界面的设计由Jigloo这个插件编写后自动生成的代码大致如下:package com.zhangxiang;SuppressWarnings(serial)public class LoginDialog extends JFrame private MedicalMain loginPanel = null;/背景面板 private JTextField userField = null; /用户名文本框 private JPasswordField passwordField = null;/密码文本框 private JButton loginButton = null;/登陆按钮 private JButton exitButton = null;/退出按钮 private JF_main mainFrame;/主窗体对象 private JLabel jLabel1 = null; private JLabel jLabel = null; public LoginDialog() private MedicalMain getLoginPanel() private JTextField getUserField() private JPasswordField getPasswordField() private JButton getLoginButton() public void actionPerformed(ActionEvent e) private JButton getExitButton() /界面初始化方法 private void initialize() /主程序 public static void main(String args) 其中登录按钮做了处理,关键代码如下loginButton.addActionListener(new ActionListener() private UserName user; SuppressWarnings(unchecked)Override public void actionPerformed(ActionEvent e) String id = getUserField().getText().trim(); if (id = null | id.length() 0) Iterator iterator = list.iterator(); user = (UserName) iterator.next(); String pass = new String(getPasswordField().getPassword(); if (!user.getPassword().equals(pass) JOptionPane.showMessageDialog(LoginDialog.this, 用户名或密码错误,无法登录, 登录失败, JOptionPane.ERROR_MESSAGE); return; Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = mainFrame.getSize(); if (frameSize.height screenSize.height) frameSize.height = screenSize.height; if (frameSize.width screenSize.width) frameSize.width = screenSize.width; mainFrame.setLocation(screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); mainFrame.setVisible(true); LoginDialog.this.setVisible(false); );登录模块在程序中运行的登录界面,如图5-11所示。图5-11 系统登录界面5.3.2 主窗体设计当用户登录成功后进入到医药综合系统主界面,在这个主界面中主要是完成用户信息,药品信息和相关业务的操作,其中包括各种基本信息的录入及查询。主界面运行的结果图,如图5-12所示。图5-12 主窗体界面这个窗体用到的主要技术是为菜单增加菜单监听事件。对于这些菜单项可以调用addMenuListener方法来进行监听。这个方法定义如下:Public void addMenuListener(MenuListener l)在菜单监听接口中,有个menuSelected()方法,这个方法的作用是选择某个菜单前调用这个方法。可以用来实现对菜单项禁用。这个方法定义如下:Public void menuSelected(MenuEvent e)这里说明一下,为什么这个地方没有用到适配器,MenuListener接口不提供适配器。由于这个接口只有3个方法,顾没有必要为这个类提供适配器。这边就采用空实现的方法,即只有方法名,而方法体的内容为空。在JF_main这个类代码中分别定义了对这几个控件的字段和方法。其中定义了工具栏控件和主菜单控件,定义了事件类处理、窗口菜单等等一系类菜单。也定义了创建主菜单的私有方法BuildMenuBar()和BuildToolBar()方法,代码如下:package com.zhangxiang.view;SuppressWarnings(serial)public class JF_main extends JFrame JPanel contentPane; BorderLayout borderLayout1 = new BorderLayout(); / 定义静态实例变量desktop用来生成桌面面板 public static JDesktopPane desktop = new JDesktopPane(); MenuBarEvent _MenuBarEvent = new MenuBarEvent();/ 自定义事件类处理 /菜单条 JMenuBar jMenuBarMain = new JMenuBar(); / 定义界面中的主菜单控件 JToolBar jToolBarMain = new JToolBar();/ 定义界面中的工具栏控件 /窗口菜单 private JMenu chuang_kouMenu; /窗口平铺菜单项 private JMenuItem pingpuItem; /全部关闭菜单项 private JMenuItem closeAllItem; /全部最小化菜单项 private JMenuItem allIconItem; /全部还原菜单项 private JMenuItem allResumeItem; /关于菜单项 private JMenuItem guanyu_Item; /帮助菜单 private JMenu bang_zhuMenu; /* * 菜单绑定菜单项 */ private void BuildMenuBar() private void BuildToolBar() 实现私有方法BuildMenuBar()实现过程:先定义菜单对象的数组,主要用来生成整个系统的业务主菜单;然后定义子菜单项目。这块的关键代码如下:private void BuildMenuBar() / 定义菜单对象数组用来生成主菜单 JMenu _jMenu = new JMenu(基本信息(B), new JMenu(业务管理(M), new JMenu(业务查询(C), new JMenu(用户管理(U), new JMenu(系统管理(S) ; /快捷键设定 _jMenu0.setMnemonic(KeyEvent.VK_B); _jMenu1.setMnemonic(KeyEvent.VK_M); _jMenu2.setMnemonic(KeyEvent.VK_C); _jMenu3.setMnemonic(KeyEvent.VK_U); _jMenu4.setMnemonic(KeyEvent.VK_S); /基本信息 JMenuItem _jMenuItem0 = new JMenuItem(药品情况), new JMenuItem(客户情况), new JMenuItem(供应商情况) ; String _jMenuItem0Name = Medicinal, Custom, Supplier ; /业务管理 JMenuItem _jMenuItem1 = new JMenuItem(药品采购), new JMenuItem(药品销售), new JMenuItem(库存盘点), new JMenuItem(销售退货), new JMenuItem(客户回款) ; String _jMenuItem1Name = JF_view_buy, JF_view_sell, JF_view_stock,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!