(医疗药品管理)药品仓库管理系统沈阳航空航天大学课程设计报告课程设计名称:软件综合课程设计课程设计题目:药库管理软件院(系):计算机学院专业:计算机科学与技术班级:94010104学号:*************姓名:***指导教师:***完成日期:2012年1月11日目录第1章概要设计21.1 题目的要求与需求分析21.2 数据库概念模型设计31.3 总体方案设计3第2章详细设计52.1数据库逻辑模型设计52.1.1药品表52.1.2仓库表62.1.3库存信息表62.1.4进销存信息详单表72.1.5用户表72.2系统管理员端功能详细设计82.2.1药品信息管理模块82.2.3进销存详单模块92.2.4仓库信息管理模块102.3 其他参数管理模块11第3章调试分析133.1hibernate连接Mysql数据库问题133.2 程序中的空指针异常问题133.3 药品信息查询多条件查询问题143.4 药品库存保质期到期报警功能问题14第4章使用说明154.1 登陆界面154.2 进入系统首页154.3 药品信息管理164.3.1药品信息录入:164.3.2药品信息删除164.3.3药品信息查询174.3.4药品库存管理174.3.5药品进销存详单管理184.4 结论19第五章参考文献20附录(程序清单)21第1章概要设计1.1题目的要求与需求分析药库管理系统要求设计并实现药品进、销、存、盘点、分析、报警等最基本的功能,要求具体精确到批次及有效期限的管理细度。
系统主要功能包括:(1).药品入库处理:对药品信息的录入管理。
(2).药品出库处理:对药品从仓库提出的管理。
(3).药品调拨处理:当某一药库药品库存不足时,可从其他的药库进行调拨。
(4).药品调价处理:对已录入药品的价格和即将录入的药品价格进行调整。
(5).药品到期报警:当药品保质期低于某个限定值时,进行警告处理。
(6).药品库缺报警;当药品的库存量低于某个限定值时,进行警告处理。
(7).库存盘点管理:显示库存内的药品信息,管理出库还是入库。
(8).库存分析管理:显示当前状态下的库存信息,并进行分析。
(9).药品流向跟踪:显示药品从药库离开后的走向。
基于数据库的药库管理系统,使用Java作为编程语言,数据库采用Mysql 关系型数据库。
对本系统的具体需求分析如下:药品管理功能:(1)药品的添加:该模块将实现对供货商提供的药品基本信息的添加功能。
药品基本信息包括:药品编号,药品名称、所在仓库、药品价格、生产日期、药品规格、保质时长、药品描述。
(2)药品的查询:该模块实现针对不同条件查询药品列表的功能。
查询的基本信息包括:药品编号,药品名称,所在仓库。
(3)药品的更新:对药品的基本信息的更新功能。
(4)药品的删除:该模块将实现对药品基本信息的删除功能。
(5)药品的出库:就是将药品的个数减少,如果要删除的个数大于库存个数则系统应该进行提示。
(6)药品进销存详单:就是药品的进销存情况的统计。
(7)药品库存详单:就是药品库存信息情况的统计。
1.2数据库概念模型设计根据实际的设计要求,本程序的数据库共有五张基本表构成,分别是:用户表、药品表,仓库表,库存信息表,进销存详细表,其中仓库表与药品表、药品表与进销存详细表为单项的一对多关系,维护端是药品表,除用户表之外其他的表都是以药品编号来相互关联,关系表E-R图如图1.1所示:M 1图1.1系统E-R 图1.3总体方案设计根据题目要求,本系统采用是B/S 结构设计的,系统管理员具有的操作是药品信息管理,药品进退详单管理,销售信息管理,药品信息类别管理,个人信息管理,计费详单管理。
如图1.2所示:图1.2 列表,药品信息的处理:增加,修改,删除,价格调整,药品的过期报警,药品库缺提示。
还有就是该药品的库存信息的查看,同时在其中可以进行库存个数的增删操作。
仓库信息管理,仓库信息管理中包括:仓库信息的查看,仓库信息的增加,修改,删除。
进销存详单管理,药品进销存详单中包括:进销存信息的查询和进销存信息报表的显示。
库存信息管理,库存信息管理中包括:库存信息列表查看,销库存信息报表的查看。
其他参数管理,其他参数管理包括用户密码修改,用户安全退出(session 设为不可用)。
第2章详细设计2.1数据库逻辑模型设计本系统数据库采用MySQL数据库,数据库名称为“store”。
系统的E-R图表明仓库表与药品表、药品表与进销存详单表为一对多的关系,其它表通过药品编号与药品表关联。
共设计以下5个表:用户表admin、药品表medicine、库存信息表medicinestock、仓库表store、进销存信息详单表medicinedetail。
各个数据表具体属性列如下所示(有下划线的为该表的主键):1)用户信息(账号,密码,用户状态)此为用户信息实体对应的关系模式。
2)药品信息(药品编号,药品名称,药品价格,生产日期,药品规格,药品描述,药品对应仓库ID)此为药品信息实体对应的关系模式。
3)仓库信息(id,仓库名)此为仓库信息实体对应的关系模式。
4)药品库存信息(id,药品编号,库存个数)此为药品库存信息实体对应的关系模式。
5)进销存详单信息(id,药品编号,药品售价,药品个数,保质日期,进销存状态,标示)此为进销存详单实体对应的关系模式。
2.1.1药品表药品表如下表2.1所示:表2.1药品表说明:此表用于存放供应商提供的药品的基本信息,包括药品编号、药品名称、药品价格、药品规格、药品描述、药品个数表、生产日期、保质期等属性。
其中的药品编号是该表的主键,仓库名是该表的外键,与仓库表关联,其他的属性都用于药品信息的描述,药品价格的单位为元。
2.1.2仓库表仓库表如下表2.2所示:表2.2仓库表说明:此表用于存放仓库信息,用于对仓库处理的一个表,该表与药品表的关系是一对多的关系,单向的,维护端是药品表,该表的主键是mysql中自带的id字段,药品表的storeName与之关联,并且id为整形,自增的方式生成的。
2.1.3库存信息表库存信息表如下表2.3所示:表2.3仓库表说明:库存信息表是对相应药品在药库的库存量的一个统计表,该表与药品表是多对一的关联关系,其中stockMedicineNo是药品编号与药品表的medicineNo对应,stockMedicineNo属性相当于该表的外键列,stockMedicineCount是该药品的库存个数。
2.1.4进销存信息详单表药品销售详单表如下表2.4所示:表2.4药品销售详单表说明:药品销售详单表是对药品销售情况的统计,包括药品编号,销售个数,销售时间,销售价格。
其中detailMedicineNo 是药品编号与药品表的medicineNo 对应,detailMedicineNo 属性相当于该表的外键列。
detailMedicineCount 是药品个数,detailStatus 是标示,detailDate 是药品的生产时间,该字段与药品表的保质期时间构成查询条件,能够通过时间来判断药品是否过期。
2.1.5用户表用户表如下表2.7所示:表2.5用户表说明:用户表是整个系统所有用户的基本表。
包括用户名,用户密码,用户标示。
用户在登录时通过用户标示属性来判断该用户的身份,1表示是系统管理员,0表示是普通用户。
2.2系统管理员端功能详细设计系统管理员端包括“药品信息管理”,“药品进退详单”,“销售信息管理”,“仓库管理”,“药品费用统计”,“其他参数管理”六个模块。
前5个模块都是对药品信息的基本操作,有对药品信息录入,药品信息的更新,药品信息的删除,药品信息的查看,药品信息列表的展示,药品销售信息列表展示,药品进出库信息的展示,药品利润信息的展示。
每个模块都有一个具体的表来管理,通过javaweb中的ssh框架来配置各模块的相应操作。
最后一个模块算是系统的基本模块,就是对用户信息的一些操作,本系统包括的是用户密码的修改,用户的安全退出,各模块的功能以及具体的设计情况如下所述:2.2.1药品信息管理模块该模块主要的功能是为管理员提供对药品信息的一些基本操作,列表查看,药品的录入(入库),药品信息的修改,药品信息的删除。
药品库存的管理功能;在用户添加完药品后,用户删除药品后,用户修改完药品信息后,页面会跳到药品信息列表。
使用的是struts2.0框架(javaweb中的一个MVC框架)的控制配置文件来控制页面的跳转及参数的传递,具体配置如下:<actionname="medicine_*"class="medicineAction"method="{1}"><resultname="modify">medicineUpdate.jsp</result>//返回结果为modify跳到medicineUpdate.jsp<resultname="add">medicineAdd.jsp</result>//返回结果为add跳到medicineAdd.jsp<resultname="view">medicineStockView.jsp</result>//返回结果为view跳到medicineStockView.jsp<resultname="input">{1}.jsp</result>//返回结果是***就跳到***.jsp文件中<resultname="list">medicineList.jsp</result>//返回结果是list就跳到medicineList.jsp文件中</action>说明这个是struts2.0的struts.xml配置文件,它控制页面的跳转,在java类的方法中,返回结果就是return“***”中的***参数。
对于药品库存信息的管理功能,如果是添加药品的话,输入药品个数即可,如果是出库的话,输入的个数大于库存数量的话,系统会有提示,回到库存管理页面。
具体流程图2.1如下:图2.1库存管理操作功能示意图2.2.3进销存详单模块该模块主要的功能是记录药品出入库时的信息记录,并对该信息进行备注标明,主要是药品进销存详单列表查询,详单查询,详单备注修改,详单删除的管理功能。
管理员可以对出入库信息的实时状态进行查询,在列表中有一个状态属性,该属性用于标示药品是入库还是出库,这样更有利于管理员清楚该信息的含义,管理员可以对详单的具体一条信息进行详细信息的查看,同时可以加入该条信息的相关备注信息,方便以后维护。