计算机毕业论文范文(计算机毕业设计论文分享)

2022-10-04 11:48:28 发布:网友投稿
热度:29

盘算机毕业论文范文(盘算机毕业设计论文分享)

摘要

药店对药品信息和数据管理缭乱庞杂,整顿统计费力费时。要做好对企业的管理,企业就必需迅速精确地获取自己企业单位的信息,这就请求及时统计数据并便利查看,以及对企业的数据信息进行保护。本软件是应用JavaServer Pages 2.0设计开发的药店药品信息管理体系,是药店信息体系的一个主要组成部分,可实现对药品信息的分类管理和数据剖析,从而使信息整顿迅速、精确、简略,以便于出售部门给予兼顾支配,从而进步与改良传统的管理办法,进步药店对药品的出售管理程度。本文所叙述的内容以及程序代码都是药店管理中的常见问题。

症结词: JavaServer Pages 2.0;药店信息体系;药品管理

Abstract

The Medicine Store information and the datas are chaotic and complex,and the reorganization of the statistics was full of trouble and consumed time.To speed up enterprise’s management,the enterprise must be quickly accurately gains oneself enterprise unit the information,which requests promotion of statistical datas and the convenience examination,as well as carries on the maintenance to enterprise’s data message.This software is designed by Java Server Pages 2.0,which develops the hospital drugs information management system and is a store information system important constituent.To realize Medicine Store information classified management and the data analysis,thus causes the information to reorganize quickly and accurately is simple,by advantageous for the correlation department to give the overall plan arrangement,thus the enhancement improves tradition management,and raises the business management level.This article narrates the content which is the frequently asked as well as the procedure code all are in the hospital drugs management.

Key words :JavaServer Pages 2.0; Medicine Store information system;drugs management

目 录

绪论
-----------------------------------------------------------------------------------------1

第一章 需求剖析
-----------------------------------------------------------------------------2

1.1 药店企业信息化的客观形势
-----------------------------------------------------------2

1.2 药店企业信息化的现状
----------------------------------------------------------------3

1.3 可行性剖析
---------------------------------------------------------------------------- 3

第二章 体系剖析
---------------------------------------------------------------------------4

2.1 体系功效剖析
--------------------------------------------------------------------------4

2.2 体系流程详细剖析
---------------------------------------------------------------------6

2.3 数据库功效剖析
------------------------------------------------------------------------7

2.4 外部接口剖析
--------------------------------------------------------------------------9

2.5 性能需求
-------------------------------------------------------------------------------9

2.6 软件属性需求
--------------------------------------------------------------------------9

2.7 体系的目的
---------------------------------------------------------------------------10

2.8 体系设计的原则
----------------------------------------------------------------------11

第三章 详细设计
---------------------------------------------------------------------------11

3.1 数据库的设计
-------------------------------------------------------------------------11

3.2 详细设计及体系功效的实现
-----------------------------------------------------------14

第四章 开发难点及解决技能
----------------------------------------------------------------21

4.1 如何在jsp中灵巧地输入数据
---------------------------------------------------------21

4.2 如何保留表格中的数据
---------------------------------------------------------------22

4.3 如何动态统计表格中的求和项
--------------------------------------------------------22

4.4 如何实现数据的隐约查询
-------------------------------------------------------------22

结论
----------------------------------------------------------------------------------------23

致谢
----------------------------------------------------------------------------------------25

参考文献
-----------------------------------------------------------------------------------25

绪论

随着我国市场经济的发展和人们对药店产品需求的快速增长,药店行业正处于一个高速发展的时代。行业的迅速发展必定导致竞争的加剧,要想在剧烈的市场竞争中谋求发展,客观上请求企业必需增强内部管理,进步运营效力。而我国大部分药店企业虽然经营实现了专业化,但是从信息机制上还没有解脱陈腐的出售模式,企业内部没有形成完美、有效的鼓励和束缚的信息化管理机制,企业发展的动力不足,从而影响了企业的连续、稳固、迅速的发展。

同时,我国药店经营情势正在向团体化、连锁化发展。在这一发展进程中,旧的企业管理模式已不适应新型的社会主义市场经济的请求,而新的企业管理模式正在被普遍探讨、研讨之中。这其中,如何应用现代信息技巧使企业拥有迅速、高效的市场反应才能和高度的效力,已是许多药店经营企业特殊关怀的问题。再者,由于药店产品种类繁多、经营模式特别、业务量大,单凭手工记账已很难适应工作的须要。药店作为关系到人们健康的特别行业,国度对药店行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。新修订的《中华人民共和国药品管理法》规定,药品经营企业必需依照《药品经营质量管理规范》(简称GSP)的请求从事药品经营。实现药品经营企业对物资流、资金流和信息流的实时监控、动态管理,最大水平地缩短药品交易时光,下降药品交易成本及企业管理成本,大大进步工作效力和经济效益。这就把药店的信息化管理摆上日程,药店急需一套既能够有效管理药品,又能够实时供给足够市场信息的药店管理信息体系。如何尽快树立和完美现代企业的信息化管理机制问题,已成为药品经营企业发展的症结所在。盘算机基于语言基本融会了壮大的数据库开发才能是一种非常好的数据开发工具。事实证明,盘算机编程语言在工资档案管理系统的运用,使数据管理更现代化,主动化,智能化。减轻了人工管理的工作量,使其变得更具有条理性,科学性,为解决药店管理行业的各种问题做出了伟大的贡献。

为此,借这次毕业设计的机遇,我对中国医科大学从属第一临床医院的药品管理做了全面过细的调查和用户需求剖析,明白所要开发的体系应当具有的功效、性能、界面,清晰地懂得了用户的请求,应用Microsoft公司推出的壮大的运用程序开发工具JavaServer Pages,联合有关管理规范和实际调研,进行了对中国医科大学从属第一医院药房用于日常药品管理的软件--“医院及药店的药品管理体系”的开发。该体系具有操作简略、稳固、安全和友爱的用户界面等特色。

为此,借这次毕业设计的机遇,我对中国医科大学从属第一临床医院的药品管理做了全面过细的调查和用户需求剖析,明白所要开发的体系应当具有的功效、性能、界面,清晰地懂得了用户的请求,应用Microsoft公司推出的壮大的运用程序开发工具JavaServer Pages,联合有关管理规范和实际调研,进行了对中国医科大学从属第一医院药房用于日常药品管理的软件——“医院及药店的药品管理体系”的开发。该体系具有操作简略、稳固、安全和友爱的用户界面等特色。

第一章 需求剖析

随着社会发展的日新月异,盘算机的普遍运用已成为社会生产力发展的主要标记。21世纪是一个信息时期,信息技巧正影响着公民经济的各个范畴。并且药店处置数据的日趋宏大和对信息的精确请求、迅速等因素的存在,使得盘算机及相应的管理软件在医院及药店管理中的运用成为必定趋势。依据软件工程学的请求,开发软件首先要进行需求剖析,下面就中国医科大学从属第一医院药房药品管理体系的开发进行需求剖析,以肯定该软件的范围、规模、总体请求以及所须要的硬件环境和支撑软件,依据用户的情形肯定该软件对操作的请求,以及待开发软件总体上的束缚和限制。

1 . 1 药店企业信息化的客观形势

1、我国已经参加了WTO,面对即将进驻中国,拥有雄厚国际资本,先进经营理念,优质服务意识的外国药品经营企业,民族药品经营企业要想在与狼共舞中生存、立足、发展,必需在管理上与国际接轨,采取盘算机信息化管理手腕势在必行。

2、药品德量关乎人民民众性命健康,国度药监局正在强力推行GSP认证达标工作,以加大行业监管力度,2004年底是企业GSP达标的最后时光表,绝大多数企业将在今年通过,而要到达这一尺度从客观上讲离不开盘算机软件的强有力支撑。

3、药品作为特别商品有其相对独立的流通系统,这一流通系统的信息化工作须要有能够支撑其特别属性的专业化盘算机软件为其服务。

4、竞争日趋剧烈,药品营销市场逐步规范,降价风潮迭起,利润空间缩小,采取盘算机信息化管理,“向管理要效益”已经提上药品经营企业管理者们的议事日程。

1 . 2 药店企业信息化的现状

1、我国药品经营企业信息化起步较晚,最近两三年才刚刚开端,受地域经济程度差别影响,发展状态也不平衡。

2、绝大多数企业只是局部采取了管理软件,尚未实现真正的面向企业全局的信息化管理,经营管理上存在着这样或那样的破绽,不具备足够的优势来迎接日趋剧烈的国际、国内市场竞争挑衅。

3、少数率先步入信息化的企业应用的大多是在通用管理软件基本上修正出来的非专业化软件,对药店企业经营管理特色的针对性不够。

1.3 可行性剖析

1.3.1 技巧可行性

该软件的开发只需在Windows操作体系下进行,应用JavaServer Pages进行开发,在盘算机上只需安装一般的处置软件和一些支撑软件,不须要大型的体系软件和运用软件来支撑。

1.3.2 经济可行性

进行该软件的开发经费和投资较少,开发只需一台能运行和安装windows操作体系以及JavaServer Pages以上的盘算机,须要的支撑软件较少,软件投入运用时也不须要很高配置的盘算机装备和网络的安装,软件的运行寿命比拟长,成本较低,所以开发该体系具有经济可行性。

1.3.3 运行可行性

该体系的研制和开发充足斟酌用户的业务往来、管理流程和人员素质等方面的因素,从而能够满足应用的请求。窗口操作简略,直观,易于控制。是具有运行可行性的。

经上述的需求剖析剖析,体系的研制和开发具有可行性。

第二章 体系剖析

2.1 体系功效剖析

软件体系剖析是软件生存周期中主要的一步,也是症结一步。依据对中国医科大学从属第一临床学院药店药品管理体系所作的体系剖析,依照软件工程学开发软件的请求,对医院及药店的药品管理体系的全体功效和所需数据库进行具体剖析,剖析时采取构造化剖析办法,自顶向下、逐层分解问题。 通过对该管理体系进行的体系剖析肯定体系应具有的功效。

在科学技巧快速发展的今天,人们所处置的信息已不能用简略的手工记载来到达实际的请求,信息的数字化和信息量的日趋宏大,给手工记载带来了不少的麻烦与毛病。当今的药店界也存在着所处置数据的宏大和不易人工记载的问题,经过一段时光的调查与研讨,医院及药店的药品管理体系应具有如下功效模块:

(1).日常业务部分:包含入库业务,出售业务,入库退货业务和出售退货业务。

(2).库存管理部分:包含库存清点,库存查询和价钱管理。。

(3).查询统计部分:包含入库查询,出售查询,入库退货查询和出售退货查询等信息的管理。

(4).基本信息管理部分:包含客户管理和供给商管理。

(5).体系设置部分:包含数据库的初期建账,用户的密码设置,数据库数据备份和数据库的数据恢复等功效。

(6).全面主动化管理,可以随时控制药品的库存和出售情形。

(7).能够迅速精确的处置药品的入库、出售、清点变价等多种业务模式。

(8).体系保护安全、便利、可靠,并且能够满足适用性、先进性的请求。

肯定的该软件体系的构造如图2.1所示。


图2.1 药店的药品管理体系功效图

2 . 2 体系流程详细剖析

医院及药店的药品管理体系所处置的信息较多,功效壮大,其基于药品管理的体系流程如图2.2所示:


图2.2 医院及药店的药品管理体系的体系流程图

2.3 数据库功效剖析

随着数据管理范围一再扩展,数据量急剧增长,数据库在软件中有不可替代的作用,成为了软件生存的血液,依据软件工程和数据库原理的请求和设计初期的详细调研,对医院及药店的药品管理体系进行详细的数据库剖析。

2.3.1 请求剖析

医院及药店的药品管理体系是一个数据库管理体系,数据库设计的好坏直接影响着全部工程运行的好坏,在数据库体系剖析和设计阶段多下一点工夫是值得的,依据对软件所做的体系剖析和用户的请求,该体系是要对药品的根本信息进行添加、修正、删除和查询统计等操作,这样就须要有供给商数据库、库存数据库、客户基本信息数据库、操作员密码数据库、药品入库数据库、药品入库退货数据库、药品出售数据库、药品出售退货数据库等。通过以上的数据库来完成全部的药品信息的管理。

2.3.2 概要设计

依据数据库的请求剖析,肯定该管理体系应具有的数据实体和数据实体的属性。在医院及药店的药品管理体系中包含的实体对象有药品实体、供给商实体、客户实体、操作员实体等。其每个实体的属性关系如下:

1、 药品实体中重要包含商品名称、简称、批号、产地、规格、包装、单位、进价、库存等属性,该实体关系如图2.3所示


图2.3 药品实体图

2.客户实体包含客户编号、客户全称、简称、地址、所属地域、接洽人、电话、传真、尚余欠款、日期,其中编号是为每个固定顾客作的编号码,以便查找操作。其客户实体关系如图2.4所示:


图2.4 客户实体图

3、供给商实体包含供给商编号、供给商全称、简称、地址、所属地域、接洽人、接洽人电话、传真、电话、尚余欠款等属性。其供给商实体关系如图2.5所示。


图2.5 供给商实体

经过上面的数据库实体模型剖析后,肯定该体系应具有的数据表重要有:供给商基本信息数据表、库存数据表、客户基本信息数据表、密码数据表、入库数据表、入库退单数据表、出售数据表、出售退货数据表。

2.4 外部接口剖析

2.4.1 用户界面

采取Windows的通用图形界面,对用户友爱,且对鼠标和键盘供给支撑,界面的设计应遵守如下规矩:

1.界面要具有一致性,界面规范遵守 Windows软件界面的规范;

2.供给简略的毛病处置;

3.供给信息反馈,用多种信息提醒用户当前软件运行状况、软件界面元件的功效;

4.操作可逆,其动作可以是单个的操作,或者是一个相对独立的操作序列;

5.显示启动画面,画面简练明快,富有现代气味,不能太过花哨;

6.应遵守国度关于盘算机词汇的尺度,用词应该精练精确,没有歧义,图形的意义明朗。

2.4.2 故障处置

正常应用时不应出错,若运行时遇到不可恢复的体系毛病,也必需保证数据库完好无损。

2.5 性能需求

1、数据准确度

查询时应保证查全率,所有相应域包括查询症结字的记载都应能查到。查询时应保证查准率,查到的记载应与给定的单项或组合查询条件完整匹配。

2、时光特征

一般操作的响应时光应在1~2秒内,对数据的导入和导出也应在可接收的时光内完成。

3、适应性

满足个人应用的需求。对前面提到的运行环境请求不应存在艰苦。

2 . 6 软件属性需求

1、准确性

请求宣布的软件到达用户的预期目的,运行时根本无毛病。

2、可靠性

在一般条件下,应不出故障。

3、效力

对于阅读、查询、增长、删除、更新和密码设置的一般操作,请求及时响应,在1~2秒内。

4、完全性

请求能在产生意外(如掉电)的情形下,保证不丧失数据。

5、易应用性

请求能尽量为用户的应用供给便利,软件的界面符合目前风行的界面规范。

6、可保护性

请求该软件在运行中发明毛病时,能迅速、精确对其进行定位、诊断和修正。

7、可测试性

设计时尽可能减少测试该软件的各项功效所需的工作量。

8、复用性

设计时应采用模块化的办法进行设计,对体系内各模块接口尽可能到达高内聚、低耦合的水平,以进步各模块的复用性。

9、安全保密性

请求供给身份验证,只许可通过身份验证的用户应用该软件。

10、可懂得性

对于该软件供给的各种菜单命令,各信息提醒,应易于用户懂得。

11、可移植性

请求该软件在将来能易于向各种窗口操作体系上移植。

2.7 体系的目的

依据初步的调查和征询用户的看法,最后肯定医院及药店的药品管理体系的目的如下:

1、操作简略便利。

2、供给友爱的界面。

3、供给药品出、入库的功效。

4、实现根本信息保护功效。

5、简略账务管理。

6、信息查询与药品清点。

7、供给主要数据备份的功效等。

2 . 8 体系设计的原则

在进行较详细的调查和征询用户的初步请求之后,在设计的进程中本着以下几点来开发和完美此体系:

1、准确性 所有的命令按钮实现准确的功效,满足用户的需求。

2、可用性 软件根本构造、实现方法、操作办法必需使一个非盘算机专业人员能够便利、准确的应用。

3、完全性 实现当前药店药品管理的请求。

4、界面友爱 设计出的软件要雅观慷慨、操作便利简略。

5、为了便利用户应用,应尽量减少键盘的操作,施展鼠标的作用。

6、体系的稳固性 要避免不注意地点击鼠标而发生意想不到的成果,或发生程序的毛病,保证操作人员正常的工作。

7、减少履行一个功效的步骤,并尽量灵巧,不要实现流程过深,而且应尽量能在任何界面中回到主界面,防止涌现不能持续履行的现象。

第三章 详细设计

在明白了用户需求以后,依据软件工程学的请求对该体系进行软件设计,肯定了该软件所具有的全体功效和开发计划。该药店药品管理体系的功效模块包含日常业务、库存管理、查询统计、基本信息管理、体系设置、GSP专项信息等。

3.1 数据库的设计

数据库体系是在文件体系的基本上发展而来的,阅历了层次数据库、网状数据库、关系数据库三个阶段。由于关系数据库采取人们比拟容易懂得和接收的二维表格来组织数据,发展快速,已成为数据库产品的主流。

本体系的前端开发是应用JSP技巧,通过JavaBeans进行逻辑掌握和数据库衔接,而后台数据库采取的是SQLServer2000。SQLServer2000数据库管理体系是一项全面完全的数据库与剖析产品。SQLServer2000非常容易学习、应用,介绍、学习资料比拟多,SQLServer2000全面支撑Web功效的数据库解决计划,与此同时,SQLServer2000还在可伸缩性与可靠性方面坚持着多项基准测试纪录,而这两方面特征又都是企业数据库体系在剧烈市场竞争中克敌致胜的症结所在。无论以运用程序开发速度还是以事务处置运行速度来权衡,SQLServer2000都堪称最为快捷的数据库体系。

比较SQLServer2000和其他的大型数据库管理体系,SQLServer2000 具有可靠的安全性,较快的存储速度,高度的兼容性,简略易用,运用SQLServer2000作为后台数据库为体系的开发供给了强有力的支撑,并对以后软件的运行供给了坚实的基本,因此,我们采取了SQLServer2000作为后台数据库。

1、密码表(ma):包含操作员和密码;重要用来保留操作员及操作员密码。其各个字段类型设置和字段长度设置见附录A表(3-4)所示。

2、入库表(rk):包含商品名称、简称、批号、产地、规格、包装、单位、数目、进价、金额、备注、供给商、日期、经手人、票号,用来保留商品入库的详细信息。其各个字段类型设置和字段长度设置见附录A表(3-5)所示。

3、出售表(xsd):包含商品名称、批号、产地、规格、包装、单位、数目、单价、金额、备注、客户、日期、经手人、票号,用来保留商品出售的详细信息。其各个字段类型设置和字段长度设置见附录A表(3-7)所示。

医院及药店的药品管理体系的数据库E-R图如图 3.1所示:


图3.1 数据库E-R图

库存实体中是药品的相干信息,包含商品名称、产地和批号,他和其他表的关系全体为1对多关系,入库单,销单,入库退单,出售退单都和它有主外键的关系。

供给商和客户这两个实体也是作为引用实体存在的,供给商和入库单实体和入库退单实体产生关系,客户和出售单和出售退单产生1对多关系。

3 . 2 详细设计及体系功效的实现

经过上述的需求剖析和体系剖析以及数据库的设计,肯定医院及药店的药品管理体系的全体功效和所需数据库,下面依据软件工程学对体系详细设计的义务请求,对该软件进行详细的设计及功效实现。在此进程中采取构造化的设计办法,来改良掌握构造,下降程序的庞杂度,从而进步程序的可读性、可测试性、可保护性。

3.2.1 软件构造

该软件顶层数据流图如图3.2所示。


图3.2 顶层数据流图

3.2.2 各模块设计

依据对医院及药店的药品管理体系所做的需求剖析和体系剖析,来实现医院及药店的药品管理体系的全体功效的设计。在此进程中采取模块化的设计办法,依据面向对象的设计请求,将体系分解成一个个独立的模块,从而完成具体的设计。

医院及药店的药品管理体系是应用壮大的jsp开发工具Myeclipse5.0完成全体的开发进程。Myeclipse不断推出它的各种新版本。它在继承以前版本长处的基本上,又新增长了诸多功效和特征,它速度快,具有壮大且容易应用的可视化开发环境。

1.登录窗体的设计

(1)、功效:用于操作者身份验证。可以选择操作员,支撑鼠标和键盘操作。操作员和密码验证胜利后,进入主界面。操作员毛病或密码毛病提示并返回毛病点。输入三次毛病的密码,体系主动退出。登陆模块的界面设计如图3.3所示:


图3.3 登陆界面

(2)、实现进程:在“医院及药店的药品管理体系”工程中,添加一个新jsp页面,命名为login.jsp。

2. 主界面的设计

(1)、功效:重要是供给各项功效模块的入口。可以选择主界面的菜单,调用相应程序,进行相应操作。显示开发者信息、体系日期和时光。

(2)、实现进程及部分症结代码:在页面上添加一个text文本框、一个password框和一个button按钮。其代码实现进程请参考附录B中的代码1。

(3)、解释:为进步代码的效力,程序中应用自定义函数来取代一些在多个程序中频繁应用的代码,如下面的md5、filter、common等函数。

3. 入库单模块的设计

(1)、功效:程序启动后,选择“日常业务”菜单下的“入库单”项,将进入入库单模块。在入库单模块中重要实现如下功效:完成药品入库工作。主动生成入库票号。体系将主动统计入库品种、入库数目、入库金额。入库单界面设计如图3.4所示:


图3.4 入库单设计

(2)、在窗体中添加6个text文本框、1个button按钮等。

(3)、并格局化单价和总金额(保存两位小数)。附录B中的代码3实现了以下功效:在入库单模块中,单击“保留”按钮,将首先检测是否录入了商品信息,如果录入了商品信息,将应用循环语句将商品信息保留到入库单rkd表中,并更新相应的库存商品信息。保留胜利后,清空入库数据,焦点转移到“登记”按钮上。

4. 库存查询模块设计

(1)、功效:程序启动后,选择“库存管理”菜单下的“库存查询”项,将进入库存查询模块。在库存查询模块汇总重要实现如下功效:选择字段查询库存商品信息,可隐约查询。

(2)、在窗体中添加1个text文本框,1个button按钮。

5. 库存清点模块设计

(1)、功效:程序启动后,选择“库存管理”菜单下的“查看库存”项,将进入库存清点模块。在库存清点模块中重要实现清点库存商品信息。

(2)、在窗体中添加1个text文本框、1个button按钮。

6. 入库查询模块设计

(1)、功效:程序启动后,选择“查询统计”菜单下的“入库查询”项,将进入入库查询模块。在入库查询模块中重要实现如下功效:按任意时光段、任意字段、查询入库商品信息。可以删除入库商品信息。

7.出售查询模块设计

(1)、重要功效:程序启动后,选择“查询统计”菜单下的“出售查询”项,将进入出售查询模块。在出售查询模块中重要实现如下功效:按任意时光段、任意字段查询商品出售信息。可以删除商品出售信息。出售查询界面设计如图3.5所示:


图3.5 出售查询界面

(2)、在页面中添加1个text文本框、1个button按钮。

8.供给商管理模块设计

(1)、程序启动后,选择“基本信息管理”菜单下的“供给商管理”项,将进入供给商管理模块。在供给商管理模块中重要时光如下功效:完成供给商根本信息的录入、保留、修正、删除。选择任意字段、任意条件查询供给商根本信息。通过卡片式、列表式两种方法查看供给商根本信息。

9.密码设置模块设计

程序启动后,选择“体系设置”菜单下的“密码设置”项,将进入密码设置模块。在密码设置模块中重要实现设置完成操作员密码的修正、保留。

第四章 开发难点及解决技能

4.1 如何在jsp中灵巧地输入数据

Text文本框、textarea文本域是两种html文本输入框,该控件供给了输入界面,处置数据相当灵巧,具有只读数据绑定、文本主动换行等功效。

4.2 如何保留表格中的数据

应用循环语句,将表格中的数据一条一条地保留。如果在不知道循环内须要履行多少次语句时,可以用while循环。否则,在知道要履行多少次循环的条件下最好应用for循环。与while循环不同,For循环应用一个计数器变量,每反复一次循环之后,计数器变量的值就会增长或者减少。

4.3 如何动态统计表格中的求和项

在进行出售单、入库单等一些单据的录入时,经常须要体系主动盘算合计数目、合计金额,即全部单据的所有商品的合计数目、合计金额。还是应用循环语句。下面是以入库单为例的盘算合计入库数目、合计入库金额的症结语句:

For(int i=0;i<list.size();i++)

Sum+=Integer.parsent(list.get(i).toString().trim());

}

4.4 如何实现数据的隐约查询

隐约查询是多种查询方法中的一种,也是比拟常用的一种查询方法。在隐约查询汇总用到了Like语句:

ResultSet rs = "select * from 表 where ((kc.简称 like " + 列名 + ")

While(Rs.next()){

System.out.println(rs.getString(1));

}

结论

本文从运用的角度阐述了医院及药店的药品信息主动化管理的实现办法。

随着国度对药店卫生制度的改造的深刻以及WTO的参加,药店已经面对市场化、社会化的竞争,改造的导向决议了药店要在优质、高效、低耗的模式下,充足应用体系的现代化管理手腕实现资源配置的最优化。改造的主要基本是要对药店各流程岗位进行业务流程重组,树立完全的适应盘算机收集和剖析的管理系统。

以往的药店药品管理工作重要由手工方法进行操作的,存在着工作繁琐、操作出错等一系列的弊病。而且手工管理中往往消耗了很大的人力和时光,却又难以到达很高的精度。因此,为了便利药店药品的管理和减轻药品管理上的工作累赘,进步工作效力和精度,该体系应用Microsoft公司的壮大的开发工具JavaServer Pages开发了这套药店药品管理体系,愿望本体系能给药店出售范畴的管理带来一些有益的赞助。

在文中论述了医院及药店的药品管理体系的详细设计进程。文中依照软件工程的请求来设计和开发管理软件的。并且依据国度药监局GSP管理规范请求,联合药品经营企业特色,参照多家典范药品经营企业的实际运营经验,进行全面管理,实现药品经营企业对物资流、资金流、信息流和质量管理全进程的实时监控、动态管理,最大水平地缩短药品交易时光,下降药品交易成本及企业管理成本,大大进步工作效力和经济效益。

该软件根本到达了现代药店药品管理的请求,能够对药店进行全方位的管理,其界面友爱,操作简略易学,运行速度快,具有很高的安全性。文中所介绍的软件在预警和统计方面有奇特之处,是值得其它管理软件的开发所借鉴。

由于本人程度有限和时光的仓皇,软件体系中可能还存在隐蔽着的“BUG”和一些业务操作的不合理,论文中涌现缺陷和毛病再所难免,还请各位引导、老师和同窗批驳平指正。以便日后的进一步完美和二次的开发。

致谢

在近四个月的设计和论文写作进程中,我联合了大学里学过的许多基本知识和专业知识,较好的解决了设计进程中涌现的问题,较顺利的完成了此次毕业设计义务。在这段设计和论文的写作进程中,得到了各位老师和同窗的大力支撑和赞助,特殊是论文导师李芳老师在前期调研、体系计划、体系设计、软件开发以及后期论文的写作等方面给予了过细的指点,其他老师及系里的引导在设计的进程中也给予了大力的赞助和关心,在这里表现真挚的谢意。

参考文献

[1] 刘圣才 李春葆编著,JavaServer Pages程序设计导学, 清华大学出版社

[2] 吴雁 萧风 编著,JavaServer Pages 入门.进步.实战 人民邮电出版社

[3] 吴德胜 齐晓亮 肖仁华 编著,JavaServer Pages 数据库适用程序实际100例 人民邮电出版社

[4] 求是科技 编著,JavaServer Pages 数据库开发技巧与工程实践 人民邮电出版社

[5] 林陈雷 郭安源 葛晓东 编著,JavaServer Pages 教导信息化体系开发实例导航 人民邮电出版社

[6] 龚沛曾 陆慰民 杨志强 编著,JavaServer Pages程序设计教程

[7] 李振格 主编,JavaServer Pages入门与进步 清华大学出版社

[8] (美)Dean Leffingwell Don Widrig 著 蒋慧 林东 等译 软件需求管理统一办法 机械工业出版社


附录

代码1、在入库、出售等模块中,均应用了java.sql类包里的办法:

import java.sql.ResultSet;

import java.sql.SQLException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.List;

import com.util.Constant;

import com.util.DBO;

public class AdminBean {

private List list;

private ResultSet rs = null;

private int EVERYPAGENUM = 2;

private int count = -1;

private int qq = 0;

private String sql="select count(*) from adminlog";

private String sql2="select * from adminlog order by id desc ";

//声明时光变量

String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());

//分页查询登陆日志

public void setEVERYPAGENUM(int EVERYPAGENUM){

this.EVERYPAGENUM=EVERYPAGENUM;

}

public int getMessageCount() { //得到信息总数

DBO dbo=new DBO();

dbo.open();

try {

rs = dbo.executeQuery(sql);

rs.next();

count = rs.getInt(1);

return count;

} catch (SQLException ex) {

ex.printStackTrace();

return -1;

} finally {

dbo.close();

}

}

public int getPageCount() { //得到共多少页(依据每页要显示几条信息)

if (count % EVERYPAGENUM == 0) {

return count / EVERYPAGENUM;

} else {

return count / EVERYPAGENUM + 1;

}

}

public List getMessage(int page) { //得到每页要显示的信息

DBO dbo=new DBO();

dbo.open();

List list = new ArrayList();

try {

rs = dbo.executeQuery(sql2);

for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {

rs.next();

}

for (int t = 0; t < EVERYPAGENUM; t++) {

if (rs.next()) {

qq++;

List list2=new ArrayList();

list2.add(rs.getInt("id"));

list2.add(rs.getString("username"));

list2.add(rs.getString("password"));

list2.add(rs.getString("logintime"));

list2.add(rs.getString("loginip"));

list2.add(rs.getString("useros"));

list2.add(rs.getString("ok"));

list.add(list2);

} else {

break; //减少空循环的时光

}

}

return list;

} catch (SQLException ex) {

ex.printStackTrace();

return null;

} finally {

dbo.close();

}

}

//管理员登录 更新登录次数 写登录日志

public int adminLogin(String username,String md5password,String password,String loginip,String useros){

String sql = "select * from admin where username = '"+username+"' and isuse='1'";

String sql2 = "insert into adminlog(username,password,logintime,loginip,useros,ok) values('"+username+"','"+md5password+"','"+date+"','"+loginip+"','"+useros+"','true')";

String sql3 = "insert into adminlog(username,password,logintime,loginip,useros,ok) values('"+username+"','"+password+"','"+date+"','"+loginip+"','"+useros+"','false')";

String sql4 = "update admin set logintimes = logintimes+1 where username = '"+username+"' ";

DBO dbo = new DBO();

String pwd;

dbo.open();

try{

rs = dbo.executeQuery(sql);

if(rs.next()){

pwd = rs.getString("password");

if(pwd.trim().equals(md5password)){

dbo.executeUpdate(sql2);

dbo.executeUpdate(sql4);

return Constant.SUCCESS;

}

else{

dbo.executeUpdate(sql3);

return Constant.PASSWORD_ERROR;

}

}

else{

dbo.executeUpdate(sql3);

return Constant.NAME_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//查询管理员信息

public List getAdminInfo(String username){

String sql = "select * from admin where username='"+username+"' ";

DBO dbo = new DBO();

dbo.open();

list = new ArrayList();

try{

rs = dbo.executeQuery(sql);

rs.next();

list.add(rs.getString("username"));

list.add(rs.getInt("flag"));

list.add(rs.getInt("logintimes"));

list.add(date);

list.add(rs.getString("quanxian"));

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

//admin edit password

public int editPassword(String username,String oldpwd,String newpwd){

String sql="select * from admin where username = '"+username+"' and password = '"+oldpwd+"'";

String sql2="update admin set password = '"+newpwd+"' where username = '"+username+"'";

DBO dbo = new DBO();

dbo.open();

try{

rs = dbo.executeQuery(sql);

if(rs.next()){

int i = dbo.executeUpdate(sql2);

if(i == 1){

return Constant.SUCCESS;

}

else{

return Constant.SYSTEM_ERROR;

}

}

else{

return Constant.PASSWORD_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//add manager

public int addManager(String username,String password,String type,String isuse){

String sql = "insert into admin(username,password,creattime,flag,isuse,logintimes,quanxian) values('"+username+"','"+password+"','"+date+"','"+type+"','"+isuse+"','0','111')";

String sql2 = "select * from admin where username = '"+username+"'";

DBO dbo = new DBO();

dbo.open();

try{

rs = dbo.executeQuery(sql2);

if(rs.next()){

return Constant.SAME_NAME;

}

else{

int i = dbo.executeUpdate(sql);

if(i == 1)return Constant.SUCCESS;

else return Constant.SYSTEM_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//update manager

public int updateManager(String username,String password,String type,String isuse){

String sql;

if(password.equals("")){

sql = "update admin set flag = '"+type+"' ,isuse = '"+isuse+"' where username = '"+username+"'";

}

else{

sql = "update admin set password = '"+password+"' ,flag = '"+type+"' ,isuse = '"+isuse+"' where username = '"+username+"'";

}

DBO dbo = new DBO();

dbo.open();

try{

int i = dbo.executeUpdate(sql);

if(i == 1)return Constant.SUCCESS;

else return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//get all manager

public List getAllManager(){

String sql = "select * from admin where flag !='1' order by id asc";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

List list2 = new ArrayList();

list2.add(rs.getInt(1));

list2.add(rs.getString(2));

list2.add(rs.getString(4));

list2.add(rs.getInt(5));

list2.add(rs.getInt(6));

list2.add(rs.getInt(7));

list.add(list2);

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

//delete manager

public int delManager(int id){

String sql = "delete from admin where id = '"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

int i = dbo.executeUpdate(sql);

if(i == 1)return Constant.SUCCESS;

else return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//delete login note

public int delLog(int id[]){

DBO dbo=new DBO();

dbo.open();

try{

for(int i = 0;i<id.length;i++){

dbo.executeUpdate("delete from adminlog where id = '"+id[i]+"'");

}

return Constant.SUCCESS;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

}

package com.bean;

import java.sql.ResultSet;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

imp资源网ort java.util.Calendar;

import java.util.List;

import com.util.Constant;

import com.util.DBO;

/**** @author Administrator**/

public class AfficheBean {

private ResultSet rs;

private List list;

private String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());

//增长

public int addAffiche(String title,String content,String adder,String ifhide){

String sql = "insert into affiche (title,content,addtime,adder,ifhide) " +

"values ('"+title+"','"+content+"','"+date+"','"+adder+"','"+ifhide+"')";

DBO dbo = new DBO();

dbo.open();

try{

int i = dbo.executeUpdate(sql);

if(i == 1){

return Constant.SUCCESS;

}

else{

return Constant.SYSTEM_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

// update affiche

public int updateAffiche(int id,String title,String content,String adder,String ifhide){

String sql = "update affiche set title = '"+title+"',content='"+content+"',addtime='"+date+"'," +

"adder='"+adder+"',ifhide='"+ifhide+"' where id = '"+id+"' ";

DBO dbo = new DBO();

dbo.open();

try{

int i = dbo.executeUpdate(sql);

if(i == 1){

return Constant.SUCCESS;

}

else{

return Constant.SYSTEM_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//delete affiche

public int delAffiche(int id[]){

DBO dbo = new DBO();

dbo.open();

try{

for(int i = 0;i<id.length;i++){

dbo.executeUpdate("delete from affiche where id = '"+id[i]+"'");

}

return Constant.SUCCESS;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//open.close affiche

public int hideAffiche(int id){

String sql = "update affiche set ifhide='1' where id='"+id+"'";

String sql2 = "update affiche set ifhide='0' where id='"+id+"'";

String sql3 = 资源网"select ifhide from affiche where id='"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

rs = dbo.executeQuery(sql3);

rs.next();

int i = rs.getInt(1);

if(i == 1){

int flag = dbo.executeUpdate(sql2);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}

else{

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

// get one affiche to update

public List getOneAffiche(int id){

String sql = "select * from affiche where id = '"+id+"'";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

list.add(rs.getInt(1));

list.add(rs.getString(2));

list.add(rs.getString(3));

list.add(rs.getString(4));

list.add(rs.getString(5));

list.add(rs.getString(6));

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

//首页显示所有

public List getAllAffiche(){

String sql = "select id,content,addtime from affiche where ifhide='1' order by addtime desc ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

List list2=new ArrayList();

list2.add(rs.getInt(1));

list2.add(rs.getString(2));

list2.add(rs.getString(3));

list.add(list2);

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

public List getAllAfficheManage(){

String sql = "select id,title,addtime,adder,ifhide from affiche order by addtime desc ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

List list2=new ArrayList();

list2.add(rs.getInt("id"));

list2.add(rs.getString("title"));

list2.add(rs.getString("addtime"));

list2.add(rs.getString("adder"));

list2.add(rs.getInt("ifhide"));

list.add(list2);

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

public int addVote(String title,String ifhide ,String item1,String item2,String item3,String item4,String item5,String item6,

String tick1,String tick2 ,String tick3 ,String tick4,String tick5,String tick6 ){

String sql = "insert into vote ( title, ifhide , item1, item2, item3, item4,item5,item6,tick1, tick2 , tick3 , tick4,tick5,tick6,addtime ) " +

"values( '"+title+"', '"+ifhide+"' , '"+item1+"', '"+item2+"', '"+item3+"', '"+item4+"','"+item5+"','"+item6+"','"+tick1+"', '"+tick2+"' ," +

" '"+tick3+"' , '"+tick4+"' , '"+tick5+"' , '"+tick6+"' , '"+date+"' )";

DBO dbo = new DBO();

dbo.open();

try{

if(ifhide.equals("1")){

dbo.executeUpdate("update vote set ifhide='0' ");

}

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

// 修正 public int updateVote(int id,String title,String ifhide ,String item1,String item2,String item3,String item4,String item5,String item6,

String tick1,String tick2 ,String tick3 ,String tick4,String tick5,String tick6 ){

String sql = "update vote set title='"+title+"', ifhide='"+ifhide+"' , item1='"+item1+"', item2='"+item2+"'," +

" item3='"+item3+"', item4='"+item4+"',item5='"+item5+"',item6='"+item6+"',tick1='"+tick1+"', tick2='"+tick2+"' ,tick3='"+tick3+"' , " +

"tick4='"+tick4+"',tick5='"+tick5+"',tick6='"+tick6+"' where id='"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

if(ifhide.equals("1")){

dbo.executeUpdate("update vote set ifhide='0' ");

}

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

// 删除

public int delVote(int id){

String sql = "delete from vote where id='"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

//查询某个

public List getVote(int id){

String sql = "select * from vote where id='"+id+"' ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

list.add(rs.getInt(1));

list.add(rs.getString(2));

list.add(rs.getString(3));

list.add(rs.getString(4));

list.add(rs.getString(5));

list.add(rs.getString(6));

list.add(rs.getString(7));

list.add(rs.getString(8));

list.add(rs.getString(9));

list.add(rs.getString(10));

list.add(rs.getString(11));

list.add(rs.getString(12));

list.add(rs.getString(13));

list.add(rs.getString(14));

list.add(rs.getString(15));

list.add(rs.getString(16));

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

// 查询所有

public List getAllVote(){

String sql = "select * from vote order by id desc ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

List list2 = new ArrayList();

list2.add(rs.getInt(1));

list2.add(rs.getString(2));

list2.add(rs.getString(3));

list2.add(rs.getString(4));

list2.add(rs.getString(5));

list2.add(rs.getString(6));

list2.add(rs.getString(7));

list2.add(rs.getString(8));

list2.add(rs.getString(9));

list2.add(rs.getString(10));

list2.add(rs.getString(11));

list2.add(rs.getString(12));

list2.add(rs.getString(13));

list2.add(rs.getString(14));

list2.add(rs.getString(15));

list2.add(rs.getString(16));

list.add(list2);

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

public List getVote(){

String sql = "select * from vote where ifhide='1' ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

list.add(rs.getInt(1));

list.add(rs.getString(2));

list.add(rs.getString(3));

list.add(rs.getString(4));

list.add(rs.getString(5));

list.add(rs.getString(6));

list.add(rs.getString(7));

list.add(rs.getString(8));

list.add(rs.getString(9));

list.add(rs.getString(10));

list.add(rs.getString(11));

list.add(rs.getString(12));

list.add(rs.getString(13));

list.add(rs.getString(14));

list.add(rs.getString(15));

list.add(rs.getString(16));

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

// open.close vote

public int hideSurvey(int id){

String sql = "update vote set ifhide='1' where id='"+id+"'";

String sql2 = "update vote set ifhide='0' where id='"+id+"'";

String sql3 = "select ifhide from vote where id='"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

rs = dbo.executeQuery(sql3);

rs.next();

int i = rs.getInt(1);

if(i == 1){

int flag = dbo.executeUpdate(sql2);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}

else{

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

public int addVote(int id,String item){

String sql = "update vote set "+item+"="+item+"+1 where id='"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

public int addMemAff(String content,String type){

String sql = "insert into memaff(content,type,addtime) values('"+content+"','"+type+"','"+date+"')";

DBO dbo = new DBO();

dbo.open();

try{

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}finally{

dbo.close();

}

}

public List getAllMemAff(){

String sql = "select * from memaff order by id desc ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

List list2 = new ArrayList();

list2.add(rs.getInt(1));

list2.add(rs.getString(2));

list2.add(rs.getString(3));

list2.add(rs.getString(4));

list.add(list2);

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

///删除 public int delMemAff(int id){

String sql = "delete from memaff where id='"+id+"'";

DBO dbo = new DBO();

dbo.open();

try{

int flag = dbo.executeUpdate(sql);

if(flag == 1)

return Constant.SUCCESS;

else

return Constant.SYSTEM_ERROR;

}catch(Exception e){

e.printStackTrace();

return Constant.SYSTEM_ERROR;

}f资源网inally{

dbo.close();

}

} public List getAllMemAff(String type){

String sql = "select content,addtime from memaff where type='"+type+"' order by id desc ";

DBO dbo = new DBO();

list = new ArrayList();

dbo.open();

try{

rs = dbo.executeQuery(sql);

while(rs.next()){

List list2 = new ArrayList();

list2.add(rs.getString(1));

list2.add(rs.getString(2));

list.add(list2);

}

return list;

}catch(Exception e){

e.printStackTrace();

return list;

}finally{

dbo.close();

}

}

}


下一篇:经典网络语言!(最新网络经典句子)
上一篇:关于穿越时空的电视剧(最值得看的5部穿越剧)