基于java的医药管理系统的设计与实现毕业论文.doc

上传人:laozhun 文档编号:3938570 上传时间:2023-03-28 格式:DOC 页数:29 大小:458.50KB
返回 下载 相关 举报
基于java的医药管理系统的设计与实现毕业论文.doc_第1页
第1页 / 共29页
基于java的医药管理系统的设计与实现毕业论文.doc_第2页
第2页 / 共29页
基于java的医药管理系统的设计与实现毕业论文.doc_第3页
第3页 / 共29页
基于java的医药管理系统的设计与实现毕业论文.doc_第4页
第4页 / 共29页
基于java的医药管理系统的设计与实现毕业论文.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于java的医药管理系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于java的医药管理系统的设计与实现毕业论文.doc(29页珍藏版)》请在三一办公上搜索。

1、 青岛农业大学毕 业 论 文(设计) 题 目:基于java的医药管理系统的设计与实现 姓 名: 学 院: 理学与信息科学学院 专 业: 班 级: 学 号: 指导教师: 2013 年 6 月 10 日毕业论文(设计)诚信声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。论文(设计)作者签名: 日期: 年 月 日 毕

2、业论文(设计)版权使用授权书本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。论文(设计)作者签名: 日期: 年 月 日指 导 教 师 签 名: 日期: 年 月 日目录摘要Abstract绪论11系统分析11.1需求分析11.2可行性分析12系统设计22.1系统开发环境及目标

3、22.2系统功能结构22.3系统流程图32.4逻辑分层结构设计42.5文件夹组织结构53数据库设计63.1数据库分析63.2数据库设计63.3数据库创建84配置文件94.1配置web.xml文件94.2配置struts-config.xml文件104.3配置hibernate.cfg.xml文件105系统模块设计125.1主系统管理模块125.2基础信息管理模块165.3药品销售管理模块185.4进货/需求管理模块196总结21致 谢22参考文献23基于java的医药管理系统的设计与实现摘要:java作为一种计算机语言,经过几十年的磨练和完善,有着相当乐观的优越性。与其他计算机语言一样,都提供

4、了可移植性和垃圾回收原理,但与之不同的是,java不仅具有这些特点,同时还具有网络连接、数据库存储和绘图功能,集多种优点于一身。正是由于java的这些优点,所以本论文主要讲述的是以java语言为核心,采用mySql数据库储存数据,运用Hibernate和Struts框架的医药管理系统的设计及应用。此系统流程相对清晰,功能上主要完成对医学药品的管理,其中包括药品以及类别的增删改查,药品库存量的修改,同时也实现了对系统管理员的增删操作。通过后期系统的不断完善和改造,优化了界面显示,修改了系统漏洞,完成了涉及到的所有操作。关键词:java技术 ;mySql数据库;Struts框架;Hibernate

5、框架Design and Implementation of the medical management system based on javaAbstract:Java as a kind of computer language, after decades of polish and perfect, has a fairly optimistic superiority. With other computer languages, they provides portability and garbage collection mechanism, but in contrast

6、, Java not only has these characteristics, but also have a network connection, database storage and graphics, combines many advantages in one. Because of these advantages of Java, so this thesis is mainly about medicine management system design and application with the Java language as the core, usi

7、ng mySql database to store data, using Hibernate and the Struts framework. Process of the system is relatively clear, the system function mainly completes the management of medical drugs, including pharmaceutical and categories deleted or changed, drug inventory modified, as well as implementation o

8、f the system administrator to add or delete operation. Through the system constantly improves and reforms finally, optimizing the interface display, changing the system vulnerabilities, completing all operations involved. Keywords: Java technology; MySQL database;Struts framework; Hibernate framewor

9、k绪论伴随着科技时代的不断进步,网络技术在人们的日常生活中的重要性不断提升。由于高科技的飞速发展,人们的日常生活习惯也在发生变化,特别是计算机的大量普及,加快了人们生活节凑的步伐。目前,中国的科技正处在初级阶段,很多技术还不太成熟和完善,如何能在短时间内提高工作效率是人们首先考虑的问题。针对我国医药管理这方面来说,传统的管理方式相对繁琐,操作复杂,没有科学、完善的方法,不仅耗时而且还浪费人力物力。相对于其他国家而言,针对医药方面的管理研发已有几十年的经验了,体系比较完善。其中也有一些比较著名的系统,例如:退伍军人管理局的DHCP系统、美国犹他州的LDS医院药品的HELP系统和麻省总医院药品的C

10、OSTAR系统。从医药管理系统发展趋势来看,由原来的小型化正逐步演化成智能化,又会在一定程度上向集成化转变11 海峡医界网. 医院药品管理信息系统. 2009.7医药管理系统的主要目标是提高工作效率,减轻医院劳动人员的工作强度,降低在医院药品管理上的资金投入,从而获得更好的社会效益。医药管理系统的主要特点是占用的系统资源较少,所需的计算机技术相对简单,便于操作。主要处理文字和数字数据为主,易于实现。本文主要阐述了依据java技术实现的医药管理系统,运用目前比较流行的Struts框架技术处理逻辑关系。采用Mysql数据库技术以表的形式储存数据,运用Hibernate技术对数据库中数据进行相关操作

11、,并对数据库的创建和设计以及Hibernate技术的配置做了详细的描述22 李钟蔚. JAVA项目开发案例全程实录. 清华大学出版社,20111系统分析1.1需求分析在当今社会飞速发展的时代,各行各业都在面对着大量的数据信息,医院也不例外,对医药的进销存管理也构成了医院各项管理中比较重要的一部分。面对着每日大量药品的输入和输出,以及众多拥有不同需求的客户,如果采用传统的、非智能化的手工方式来处理所带来的这些数据信息,不仅效率提高不上去,而且还会动用大量的人力物力,增加了医院的开销和资金投入,但却得不到较大的利益。如何解决以上这些问题,那就需要一个比较成熟的、科学的方法。所以,一个完善的医药管理

12、系统不仅可以带来管理人员对药品的快速管理,而且还能在一定程度上也满足了消费者的需求。它应具有以下优点33 江义华. JAVA完美经典 . 中国铁道出版社 ,2004(1) 操作界面更加人性化,处理上更加高效。(2) 采用高端的软件技术研发和较长的使用寿命。(3) 可简化工作人员的操作,从而提高工作效率。1.2可行性分析任何一款软件研发出来,并不是凭空捏造,它应具有社会效益以及可行性。针对医药管理系统来说,它应具有以下可行性44 史济民、顾春华、郑红. 软件工程. 高等教育出版社,2009经济方面:从经济的角度进行评估,该系统的创建和日后的维护,不会耗费大量的资金。不仅如此,该系统设计理念就是节

13、省人力,完善管理水平,提高管理质量,屏蔽管理漏洞,因而此系统所带来的社会经济效益将远远大于开发中的投入。技术方面:从技术的角度进行评估,该系统依托于java技术。该语言通熟易懂,技术上可实现跨平台。与此同时,采用Struts和Hibernate框架,分别完成逻辑操作和数据操作,运行效率高,处理速度快55 耿祥义、张跃平. JAVA2实用教程.清华大学出版社 ,2004实施方面:从实施的角度进行评估,该系统对硬件配置要求不高,部署又相对简单,操作起来难度不大,普通操作人员很容易应用此系统,不必接受过多的专业知识的培训。2系统设计2.1系统开发环境及目标(1) 系统开发环境不同的开发环境,将在一定

14、程度上影响到系统的正常运行。所以有必要给出该系统的开发环境,避免出现不必要的麻烦。运行环境选择如下66 周惠英. JAVA入门、进阶与应用实例. 人民邮电出版社,2007开发环境:Window7操作系统开发工具:MyEclipse9.0开发软件 Web服务器:apache-tomcat-6.0.36容器(2) 系统目标针对当前医院管理的要求,以及从用户体验的角度出发,该系统的制定应具备以下目标77 张桂珠、陈爱国. JAVA面向对象程序设计. 北京邮电大学出版社,2006 系统安全系数高,运行相对稳定。 界面简单但不失美观,操作方便快捷。 完成药品基础信息和用户账号的管理。 能及时的预知药品的

15、销售状况及库存信息。2.2系统功能结构通过查阅相关书籍和上网搜索资料,从医院管理状况出发,将该管理系统定义为四大功能模块,它们分别是主系统管理、基本信息管理、药品销售管理和进货与需求管理88 李钟蔚. JAVA开发实战宝典. 清华大学出版社,2010医药管理系统 进货/需求管理药品销售管理基础信息管理主系统管理销售排行统计药品销售明细药品进货管理药品需求管理库存信息查看药品类别管理药品信息管理系统初始化用户账号管理图2-1 功能结构图2.3系统流程图所谓流程图,就是以一种特定的图形符号加上必要的说明来解释某一个工艺过程或管理过程。为了能更直观的说明该系统的管理功能,快速地掌握和了解系统的处理任

16、务,所以,给出该系统各个功能模块的流程图,主流程如图2-2所示。医药管理系统基本信息管理主系统管理管理员管理员登录药品销售管理进货/需求管理图2-2 系统主流程图以下给出了各个功能模块的流程图,如图2-3所示。添加药品药品信息管理查询药品修改药品删除药品基本信息管理添加类别查询类别药品类别管理修改类别添加需求添加管理员查询进货查询管理员进货/需求管理主系统管理删除进货密码修改库存修改系统初始化查询销售明细药品销售管理当日销售明细销售排行统计图2-3 各功能模块流程图2.4逻辑分层结构设计在分析该结构设计的之前,首先有必要了解一下MVC框架的设计思想。MVC主要包括三层结构,及M层、V层和C层。

17、M层是模型层,也就是数据层,其中包括持久层和数据库层,用于对数据的储存和操作,主要涉及到的技术有JDBC技术和Hibernate框架技术;V层是视图层,是用来显示软件页面,接受用户请求和以某种形式呈现数据,注重数据的显示效果,主要涉及到的技术有Html技术和Jsp技术,还有Javascript及相应脚本框架;C层是控制层,是用来对M层和V层的耦合,主要起到逻辑处理作用,捕获用户的请求,并对用户请求进行处理,将所得到的处理结果返回给视图层,并在页面中显示数据99 (美)珍兆科. Java EE5权威指南. 机械工程出版社,2008MVC架构的请求流程:用户访问Web页面,发送请求,请求到达控制器

18、处理,控制器通过DAO技术访问数据层,将数据取出并将处理结果反馈给用户,更新用户界面。通过以上功能结构的介绍及对MVC框架的了解,可发现该系统是由4层组成,并且严格遵循了MVC架构思想。该4层分别是视图层、控制层、持久层和数据库层。视图层也就是用户所能涉及到的操作界面,主要采用JSP技术实现,整个页面可添加Struts框架当中的标签库或jstl标签库。控制层的作用就是协调视图层和数据层,起到中间桥梁的作用,主要采用Struts框架技术实现,通过servlet组件过滤请求,调用相应的Action组件处理请求,通过forwrad对象将结果输出到界面。数据库层用来储存数据,本系统采用Mysql数据库

19、来实现。持久层是用来操纵数据的,采用Hibernate技术将数据从数据库中提取出来,并做相应的操作,如对数据的增删查改。2.5文件夹组织结构本系统主要运用MyEclipse软件编程,采用java技术实现。所以,对于文件夹的命名应该按照规范的命名法来实施。在真实的企业开发过程中,编写代码之前,都要系统的制定好一个比较完善的文件夹组织结构,使得整个项目开发思路比较清晰,让编程人员能很快地定位到每一个模块的设计。开发中,文件夹命名的规范化发挥着十分重要的作用。在MyEclipse软件中,该系统的文件夹组织结构如下所示1010 郎波. JAVA语言程序设计. 清华大学出版社,2005src目录:是一种

20、可执行文件夹,可存放类包,类包中存放源代码文件,即后缀为java格式的文件。com.peng.pojo包:每一层都是文件夹,采用将域名倒写的方式定义包名。该文件下存放实体类,也就是java中常说的pojo类。com.peng.mapping包:用于存放实体关系映射文件(ORM文件),将实体类通过该配置文件和数据库中的表一一对应起来,找到它们之间的联系。com.peng.util包:存放自己编写好的工具类,该工具类可以在不同的包中重复使用,起到某些相应的功能,如给密码加密或者读取某文件内容。com.peng.action包:存放业务处理的类,即Action组件。com.peng.intercep

21、tor包:用于存放interceptor拦截器,主要作用是对用户请求进行再次拦截,执行时机是在Action组件之前执行。com.peng.config包:用于存放配置文件,如后缀为properties的文件。可通过java中IO流进行读取文件内容。com.peng.service包:用于存放一些服务类,常和dao类联合使用。WebRoot目录:是不可执行的文件夹,用于储存jsp页面,即浏览网页。 3数据库设计3.1数据库分析数据库,顾名思义就是一个大型仓库,用来存储大量的数据。它包含所有涉及到的信息,主要囊括用户信息、药品基本信息和类别信息、以及销售明细信息。通过某种对应关系,间接的将所有信息

22、数据联系起来。在真实的企业开发中,数据库往往单独安装在某个特定的服务器上。这样做的目的就是防止大量用户过度频繁的访问数据库,从而造成服务器的瘫痪。不仅如此,这样做还可以提高查询速度,降低服务器的负担。因此,不同的硬件要求,可能会影响到数据库的性能,以下给出了数据库运行环境的要求:(1) 硬件要求:CPU:要求在2.8GHz以上。内存:要求在2GB以上。硬盘储存空间:150GB或者更高。(2) 软件要求:操作系统:Windows 7操作系统。数据库版本:MySQL5.0版本。3.2数据库设计通过以上对该系统的功能结构的分析,将每一个模块所涉及到的信息抽象成一个数据实体对象,将这些对象通过数据表的

23、形式储存在数据库中。为了能更好的对数据库中的结构,下面简单介绍一下数据库的相关知识。数据库中的数据类型主要包括整型(int)、浮点型(double)、字符型(varchar)、日期类型(datetime)。定义类型时含有数字,说明是数据的精确度或字符的长度。数据库中的约束条件是用来给数据表中的某些列添加限制,主要包括有五种,分别为主键约束(Primary key)、外键约束(Foreign key)、唯一约束(Unique)、非空约束(not null)和检查约束(Check)1111 (美)范德兰斯. MySQL开发者SQL权威指南. 机械工程出版社,2008PRI、MUL和UNI,作用如下

24、: 主键约束:主键是用来区分一个数据表中的每一行数据,主键的特点是唯一性和不能为空值,因而不同的行具有不同的主键。主键的生成方式往往采用数据库自增的方式auto_increment,随数据的添加自增序列号。 外键约束:外键是定义在两张表的不同列或同一张表中的不同列,用于联系两个列之间的关系,起到关联作用,保证数据的一致性,往往将一张表的主键作为另一张表的外键。含有外键的表是主表,不含外键的表是子表。 唯一约束:此约束是说明该列的每一个数值都是唯一的,不能重复。定义唯一约束的主要目的是,在没有主键所定义的其他列中不能重复输入相同列值。 以下给出了几种实体对象的表结构:(1) 用户对象所对应的表结

25、构,如表3-1所示:表3-1 用户对象数据表属性数据类型是否可为空键值默认值额外信息idint(11)NOPRINULLauto_incrementusernamevarchar(50)NOUNINULLpasswordvarchar(50)NONULLcreate_timedatetimeYESNULL(2) 药品对象所对应的表结构,如表3-2所示:表3-2 药品对象数据表属性数据类型是否可为空键值默认值额外信息idint(11)NOPRINULLauto_incrementmed_novarchar(100)NOUNINULLnamevarchar(100)NONULLfactory_ad

26、dvarchar(100)YESNULLdescriptiontextYESNULLpricedoubleNONULLmed_countint(11)YESNULLreq_countint(11)YESNULLphoto_pathvarchar(255)YESNULLcategory_idint(11)YESMULNULL(3) 销售明细对象所对应的表结构,如表3-3所示:表3-3 销售明细对象数据表属性数据类型是否可为空键值默认值额外信息idint(11)NOPRINULLauto_incrementsell_namevarchar(200)NONULLsell_pricedoubleNON

27、ULLsell_countint(11)NONULLsell_timedatatimeNONULLmed_idint(11)YESMULNULLuser_idint(11)YESMULNULL(4) 药品类别对象所对应的表结构,如表3-4所示:表3-4 药品类别对象数据表属性数据类型是否可为空键值默认值额外信息idint(11)NOPRINULLauto_incrementnamevarchar(100)NONULLdescriptiontextYESNULLcreate_timedatetimeYESNULL在数据库中创建以上各表的时候,应该明确定义以上每个字段,缺少其中的某个字段都有可能提

28、示创建失败等信息。同时,应注意数据的类型和精确度,以及约束条件和附加信息。3.3数据库创建利用SQL语言(结构化查询语言)将所需的数据库和数据表以语言脚本的形式生成,在MySQL软件客户端的命令行界面输入指令即可完成创建过程。如:在E盘下创建了一个“E:medicine.sql”的数据库脚本,在命令行界面执行指令“source E:medicine.sql”后,即可完成创建过程。另外一种创建方式,可将SQL脚本添加到MyEclipes软件的项目中,通过软件自带的“数据库连接插件”完成数据库的创建,一般不采用这种形式。4配置文件4.1配置web.xml文件web.xml文件又叫做部署描述文件,它

29、的主要作用就是初始化配置信息。在该文件中可定义过滤器对请求过滤;可定义监听器对事件进行监听;也可定义servlet组件实现逻辑处理等等一些信息1212 (美)埃克尔. JAVA编程思想.机械工程出版社,2007(1) 可以定义某个首选页面: index.jsp 当你访问某个网站的时候,首次浏览到的页面就是index.jsp页面。(2) 为Struts组件Servlet命名:action org.apache.struts.action.ActionServlet这里由Struts框架的底层原理来实现,该组件由Struts框架提供的jar包中的类ActionServlet来完成,命名为actio

30、n。(3) 为servlet定制统一资源定位器(URL):action*.do“/*”代表对所有的请求字符串进行过滤, “*.do”代表对请求以“.do”结尾的请求过滤。通过servlet的名字找到以上命名之后的组件,例如:通过action名字找到ActionServlet类。4.2配置struts-config.xml文件struts-config.xml文件是Struts框架的核心配置文件。通过该文件中的配置信息,可调用与请求资源相对应的Action组件,并返回所需的执行结果,实现页面的跳转。由于struts-config.xml文件当中的配置相对较多,所以不再一一列举其中的配置信息,只对

31、其中最为常用的重点标签和属性做详细介绍,如下:(1) 标签:该标签的作用是用来配置web应用所需的数据源,最多含有一个,该标签中可定义多个子标签。(2) 标签:该标签的作用是用来定义具体的数据源。可以有任意个,含有两个重要属性key和type,key的作用是区分不同的数据源,type的作用是为数据源的使用提供实现类,如连接池、JDBC技术的类库。(3) 标签:该标签作用在下,主要作用是设置数据源的属性,如数据源用户、数据源密码和数据源url等等。(4) 标签:该标签的作用是用来配置From Bean的,From Bean实际上就是一个java Bean,是对表单的封装,struts会通过set

32、ter方法将表单中输入框的值设置到From Bean中同名的属性上。含有两个重要的属性name和type,分别用来定义From Bean的名字和实现类。(5) 标签:该标签的主要作用是用来定义全局的forward的,所谓的forward就是实现页面的跳转,即分发页面的作用。(6) 标签:该标签的作用是用来定义Action组件的。在配置文件中最多含有一个,其中可含有多个子标签。(7) 标签:该标签含有path、type和name三个重要属性。path的作用是用来指定访问的路径,以“/”开头;type用来指定处理逻辑的Action组件;name是用来指明与之关联的From Bean的名字。(8)

33、标签:该标签定义在标签中,作用就是实现页面的跳转。含有name和path属性,作用分别为接受处理结果和指定要跳转的页面。4.3配置hibernate.cfg.xml文件hibernate.cfg.xml文件是Hibernate框架中的核心配置文件,用于连接数据库,文件内容一般采用工具自动生成。该配置文件中一般提供如下信息:(1) 标签:提供session工厂,用于生产session对象,需要通过property标签注入数据源信息。(2) 标签:定义数据库的连接信息,如driver_class、url、username、password和dialect。dialect叫做方言,Hibernate

34、框架可以通过dialect属性匹配任意类型的数据库,如Oracle、Mysql或者DB2等数据库。(3) 标签:该标签的作用是加载ORM映射文件,以便通过映射文件将java中的实体类和数据库中的数据表对应起来。5系统模块设计5.1主系统管理模块主系统管理模块主要包括管理员账号管理和系统初始化,如果细分的话,可分为添加和删除管理员,修改管理员密码和查看所有管理员。由于业务需求,任何管理员登录成功后,都可以进行添加和删除管理员的操作,所以操作时请谨慎操作,以免造成不必要的麻烦。修改管理员密码时,只能对当前用户密码做更改,不可更改其他管理员信息。前台浏览器端采用到的技术主要包括Jsp页面技术和jav

35、aScript技术,后台服务器端采用两大框架处理业务逻辑和数据逻辑。以下给出添加管理员的页面,如图5-1所示。图5-1 添加管理员在页面代码中,用户名采用username,密码采用password,这样即可以和java逻辑处理代码中的User类属性相对应,又保证代码信息的一致性,减少开发难度系数。其中,定义用户对象的主要代码如下:public class User private int ;/id号private String username;/用户名private String password;/密码private Date createTime;/创建日期public Date get

36、CreateTime() /获取创建日期return createTime;public void setCreateTime(Date createTime) /设置创建日期this.createTime = createTime;public int getId() /获取idreturn id;public void setId(int id) /设置idthis.id = id;public String getUsername() /获取用户名return username;public void setUsername(String username) /设置用户名this.use

37、rname = username;public String getPassword() /获取用户密码return password;public void setPassword(String password) /设置用户密码this.password = password;从代码中可以看出,User类含有四个私有属性,并为每个属性提供公有的get和set方法,这样可以通过方法来访问类的属性。这种定义类的方式符合java Bean规范。所谓的java Bean是一种软件开发中常常遵守的规范,它要求类的属性尽量私有化,方法尽量公有化,并提供属性的get和set方法。所谓退出系统,就是返回到

38、该系统的登录界面,在此界面中用户可进行登录操作,如图5-2所示。图5-2 用户登录界面用户登录处理,是从页面中获取用户名以及密码信息,将该信息传递给后台处理,通过Hibernate框架技术访问数据库中的用户信息,并进行比对,正确则可登入系统,否则提示密码或用户名错误,其主要代码如下:public User login(String userName,String password)User user = null;try session = HibernateFilter.getSession(); /获取Session对象session.beginTransaction();/开启事物/HQ

39、L查询语句String hql = from User u where u.username=? and u.password=?;Query query = session.createQuery(hql)/创建Query对象.setParameter(0, userName)/动态赋值.setParameter(1, password);/动态赋值user = (User)query.uniqueResult(); /返回User对象session.getTransaction().commit();/提交事务 catch (Exception e) e.printStackTrace()

40、;/打印异常信息session.getTransaction().rollback();/回滚事务return user;凡是能登录成功的用户,都能成功修改个人的密码,根据原密码和新密码即可完成操作,操作页面如图5-3所示。图5-3 修改当前用户密码此修改密码操作的代码相对来说编写有一定的难度,代码如下所示:/ 修改密码public ActionForward modifyPassword(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws

41、Exception UserForm uf = (UserForm) form;if (uf != null) /从session之中获取User对象User user = (User) request.getSession().getAttribute(user);/确认两次密码是否一致if (user != null & uf.getOldPassword().equals(user.getPassword() if (uf.getPassword().equals(uf.getRePassword() UserDao dao = new UserDao();user.setPasswor

42、d(uf.getPassword();dao.saveOrUpdate(user);else/密码错误ActionMessages errors = new ActionMessages();errors.add(,new ActionMessage(user.oldpassword.error);this.saveErrors(request, errors);return mapping.findForward(error);return mapping.findForward(userFind);5.2基础信息管理模块基础信息管理模块主要包括药品信息管理和药品类别管理。其中,药品信息管理主要包括药品的添加,药品的查询以及药品的删除等基本操作,每一位管理

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号