药品仓库管理系统.docx

上传人:b****3 文档编号:11159046 上传时间:2023-05-29 格式:DOCX 页数:29 大小:290.15KB
下载 相关 举报
药品仓库管理系统.docx_第1页
第1页 / 共29页
药品仓库管理系统.docx_第2页
第2页 / 共29页
药品仓库管理系统.docx_第3页
第3页 / 共29页
药品仓库管理系统.docx_第4页
第4页 / 共29页
药品仓库管理系统.docx_第5页
第5页 / 共29页
药品仓库管理系统.docx_第6页
第6页 / 共29页
药品仓库管理系统.docx_第7页
第7页 / 共29页
药品仓库管理系统.docx_第8页
第8页 / 共29页
药品仓库管理系统.docx_第9页
第9页 / 共29页
药品仓库管理系统.docx_第10页
第10页 / 共29页
药品仓库管理系统.docx_第11页
第11页 / 共29页
药品仓库管理系统.docx_第12页
第12页 / 共29页
药品仓库管理系统.docx_第13页
第13页 / 共29页
药品仓库管理系统.docx_第14页
第14页 / 共29页
药品仓库管理系统.docx_第15页
第15页 / 共29页
药品仓库管理系统.docx_第16页
第16页 / 共29页
药品仓库管理系统.docx_第17页
第17页 / 共29页
药品仓库管理系统.docx_第18页
第18页 / 共29页
药品仓库管理系统.docx_第19页
第19页 / 共29页
药品仓库管理系统.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

药品仓库管理系统.docx

《药品仓库管理系统.docx》由会员分享,可在线阅读,更多相关《药品仓库管理系统.docx(29页珍藏版)》请在冰点文库上搜索。

药品仓库管理系统.docx

药品仓库管理系统

XX航空航天大学

 

课程设计报告

 

课程设计名称:

软件综合课程设计

课程设计题目:

药库管理软件

 

院(系):

计算机学院

专业:

计算机科学与技术

班级:

94010104

学号:

16

姓名:

王若平

指导教师:

X潞

完成日期:

2012年1月11日

 

第1章概要设计

1.1题目的要求与需求分析

药库管理系统要求设计并实现药品进、销、存、盘点、分析、报警等最基本的功能,要求具体精确到批次及有效期限的管理细度。

系统主要功能包括:

(1).药品入库处理:

对药品信息的录入管理。

(2).药品出库处理:

对药品从仓库提出的管理。

(3).药品调拨处理:

当某一药库药品库存不足时,可从其他的药库进行调拨。

(4).药品调价处理:

对已录入药品的价格和即将录入的药品价格进行调整。

(5).药品到期报警:

当药品保质期低于某个限定值时,进行警告处理。

(6).药品库缺报警;当药品的库存量低于某个限定值时,进行警告处理。

(7).库存盘点管理:

显示库存内的药品信息,管理出库还是入库。

(8).库存分析管理:

显示当前状态下的库存信息,并进行分析。

(9).药品流向跟踪:

显示药品从药库离开后的走向。

基于数据库的药库管理系统,使用Java作为编程语言,数据库采用Mysql关系型数据库。

对本系统的具体需求分析如下:

药品管理功能:

(1)药品的添加:

该模块将实现对供货商提供的药品基本信息的添加功能。

药品基本信息包括:

药品编号,药品名称、所在仓库、药品价格、生产日期、药品规格、保质时长、药品描述。

(2)药品的查询:

该模块实现针对不同条件查询药品列表的功能。

查询的基本信息包括:

药品编号,药品名称,所在仓库。

(3)药品的更新:

对药品的基本信息的更新功能。

(4)药品的删除:

该模块将实现对药品基本信息的删除功能。

(5)药品的出库:

就是将药品的个数减少,如果要删除的个数大于库存个数则系统应该进行提示。

(6)药品进销存详单:

就是药品的进销存情况的统计。

(7)药品库存详单:

就是药品库存信息情况的统计。

1.2数据库概念模型设计

根据实际的设计要求,本程序的数据库共有五X基本表构成,分别是:

用户表、药品表,仓库表,库存信息表,进销存详细表,其中仓库表与药品表、药品表与进销存详细表为单项的一对多关系,维护端是药品表,除用户表之外其他的表都是以药品编号来相互关联,关系表E-R图如图1.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药品表

字段名称

字段类型

是否为空

说明

id

Int(11)

No

主键

medicineNo

varchar(30)

No

药品编号

medicineName

varchar(30)

Yes

药品名称

medicinePrice

varchar(10)

Yes

药品价格

medicineDescribe

varchar(255)

Yes

药品描述

medicineCreateDate

varchar(30)

Yes

生产日期

medicineKeepTime

varchar(10)

Yes

保质期

medicineSpecification

varchar(30)

Yes

药品规格

medCount

Int(11)

Yes

药品个数

storeId

Int(11)

Yes

仓库名

dateStatus

Int(11)

Yes

标示

说明:

此表用于存放供应商提供的药品的基本信息,包括药品编号、药品名称、药品价格、药品规格、药品描述、药品个数表、生产日期、保质期等属性。

其中的药品编号是该表的主键,仓库名是该表的外键,与仓库表关联,其他的属性都用于药品信息的描述,药品价格的单位为元。

2.1.2仓库表

仓库表如下表2.2所示:

表2.2仓库表

字段名称

字段类型

是否为空

说明

id

Int(11)

No

主键

storeName

varchar(30)

Yes

仓库名称

说明:

此表用于存放仓库信息,用于对仓库处理的一个表,该表与药品表的关系是一对多的关系,单向的,维护端是药品表,该表的主键是mysql中自带的id字段,药品表的storeName与之关联,并且id为整形,自增的方式生成的。

2.1.3库存信息表

库存信息表如下表2.3所示:

表2.3仓库表

字段名称

字段类型

是否为空

说明

id

Int(11)

No

主键

stockMedicineNo

varchar(20)

yes

药品编号

stockMedicineCount

int(11)

Yes

库存个数

说明:

库存信息表是对相应药品在药库的库存量的一个统计表,该表与药品表是多对一的关联关系,其中stockMedicineNo是药品编号与药品表的medicineNo对应,stockMedicineNo属性相当于该表的外键列,stockMedicineCount是该药品的库存个数。

2.1.4进销存信息详单表

药品销售详单表如下表2.4所示:

表2.4药品销售详单表

字段名称

字段类型

是否为空

说明

id

Int(11)

No

主键

detailMedicineNo

varchar(20)

yes

药品编号

detailDate

varchar(20)

Yes

日期

detailMedicineCount

Int(11)

Yes

药品个数

detailStatus

Intr(11)

Yes

标示

说明:

药品销售详单表是对药品销售情况的统计,包括药品编号,销售个数,销售时间,销售价格。

其中detailMedicineNo是药品编号与药品表的medicineNo对应,detailMedicineNo属性相当于该表的外键列。

detailMedicineCount是药品个数,detailStatus是标示,detailDate是药品的生产时间,该字段与药品表的保质期时间构成查询条件,能够通过时间来判断药品是否过期。

2.1.5用户表

用户表如下表2.7所示:

表2.5用户表

字段名称

字段类型

是否为空

说明

id

Int(11)

No

主键

adminName

varchar(20)

Yes

用户名

adminPass

varchar(20)

Yes

用户密码

adminStatus

Int(11)

Yes

用户标示

说明:

用户表是整个系统所有用户的基本表。

包括用户名,用户密码,用户标示。

用户在登录时通过用户标示属性来判断该用户的身份,1表示是系统管理员,0表示是普通用户。

2.2系统管理员端功能详细设计

系统管理员端包括“药品信息管理”,“药品进退详单”,“销售信息管理”,“仓库管理”,“药品费用统计”,“其他参数管理”六个模块。

前5个模块都是对药品信息的基本操作,有对药品信息录入,药品信息的更新,药品信息的删除,药品信息的查看,药品信息列表的展示,药品销售信息列表展示,药品进出库信息的展示,药品利润信息的展示。

每个模块都有一个具体的表来管理,通过javaweb中的ssh框架来配置各模块的相应操作。

最后一个模块算是系统的基本模块,就是对用户信息的一些操作,本系统包括的是用户密码的修改,用户的安全退出,各模块的功能以及具体的设计情况如下所述:

2.2.1药品信息管理模块

该模块主要的功能是为管理员提供对药品信息的一些基本操作,列表查看,药品的录入(入库),药品信息的修改,药品信息的删除。

药品库存的管理功能;在用户添加完药品后,用户删除药品后,用户修改完药品信息后,页面会跳到药品信息列表。

使用的是struts2.0框架(javaweb中的一个MVC框架)的控制配置文件来控制页面的跳转及参数的传递,具体配置如下:

medicineUpdate.jsp//返回结果为modify跳到medicineUpdate.jsp

medicineAdd.jsp//返回结果为add跳到medicineAdd.jsp

medicineStockView.jsp//返回结果为view跳到medicineStockView.jsp

{1}.jsp//返回结果是***就跳到***.jsp文件中

medicineList.jsp//返回结果是list就跳到medicineList.jsp文件中

说明这个是struts2.0的struts.xml配置文件,它控制页面的跳转,在java类的方法中,返回结果就是return“***”中的***参数。

对于药品库存信息的管理功能,如果是添加药品的话,输入药品个数即可,如果是出库的话,输入的个数大于库存数量的话,系统会有提示,回到库存管理页面。

具体流程图2.1如下:

图2.1库存管理操作功能示意图

2.2.3进销存详单模块

该模块主要的功能是记录药品出入库时的信息记录,并对该信息进行备注标明,主要是药品进销存详单列表查询,详单查询,详单备注修改,详单删除的管理功能。

管理员可以对出入库信息的实时状态进行查询,在列表中有一个状态属性,该属性用于标示药品是入库还是出库,这样更有利于管理员清楚该信息的含义,管理员可以对详单的具体一条信息进行详细信息的查看,同时可以加入该条信息的相关备注信息,方便以后维护。

具体详细流程图如图2.2所示:

图2.2进销存详单功能示意图

 

2.2.4仓库信息管理模块

该模块主要的功能是对仓库信息的管理,包括类别信息的增加,删除,修改,类别信息列表查看功能。

该模块是最基本的增删改查操作,管理员可以对仓库信息进行全方位的管理,注意的是,在删除仓库信息时,如果有药品已经在这个仓库下的话,系统会提示改类不可以被删除。

具体详细流程图如图2.3所示:

图2.3仓库信息管理功能示意图

 

2.3其他参数管理模块

该模块是本系统的一个共通模块,主要作用是修改用户的个人信息即用户的密码,还有就是用户的安全退出操作。

对于用户密码的修改,首先要求是必须输入旧密码,来确认当前用户真的就是正在使用该系统的用户,其次就是新密码必须输入两次,确认一下方可,这样保证了系统的整体安全性。

对于用户的安全退出意思就是用户点击退出连接后,在用户登录时的session对象被设置成了不可用的状态,这样在以后有人在访问该页面时就不可以访问该页面了,系统会将页面跳转到登陆页面。

以下是核心代码:

//验证Session是否过期

if(!

ServletActionContext.getRequest().isRequestedSessionIdValid()

//session过期,转向session过期提示页,最终跳转至登录页面

return"tologin";

}else{

Sessionsession=ServletActionContext.getRequest().getSession();

admin=(Admin)session.getAttribute("admin");//获取session中保存//的用户对象

if(admin==null){

if(url.indexOf("admin_adminLogin")!

=-1||url.indexOf("admin_logout")!

=-1){

returnai.invoke();

}else{

return"tologin";//未登陆跳转至登陆页面

}

}else{

returnai.invoke();

}

}

}

第3章调试分析

3.1hibernate连接Mysql数据库问题

本系统我使用的是javaweb相关知识点的一个持久层框架hibernate,由于很长时间没有与这个框架接触了,这次在连接数据库时遇到了一些小问题,一个就是在向数据库中加入信息时,一般的英文字母都没有问题,但是当加入中文文字时在数据库中的信息就是?

形式的乱码。

后来上网查阅了一下资料才知道,在连接数据库加载配置文件时没有指定连接数据库的编码方式。

导致编码方式不一致导致了乱码的问题。

解决方法:

在jdbc:

mysql:

//127.0.0.1:

3306/store后加上charaterEncoding=utf-8就可以解决了!

3.2程序中的空指针异常问题

说到这个问题我想说的是这是个最容易忽略的问题,也是最致命的问题,因为我们在编程的过程中往往都会忽略它,导致服务器错误信息积累过多导致崩溃,下面我举出一个例子如下:

//库存出库函数

PublicStringmedicineStockDelete(){

MedicineStockupdateMedicineStock=medicineService.find();//通过服务类获取更新对象

If(deleteCount>updateMedicineStock.getMedicineCount()){//判断删除个数是否大于库存个数

medicineStock=medicineService.findByNo(no);//通过编号查找库存对象

Return“view”;//返回到查看视图

}

}

以上代码的问题就是在查询完信息后,没有判断该对象是否为空,如果对象为空的话那么就会出现空指针异常的问题。

3.3药品信息查询多条件查询问题

对于这个问题的提出我认为对于以后的多条件查询是否可以做成一个共同的方法来处理,为什么这么说呢,因为多条件查询必然会涉及到很多的表,这样的话我们应该采取什么方式来把这些属性连接起来形成一个sql语句,并且保证它的正确性。

后来我上网查了下资料,解决了sql语句总是拼不正确的问题,就是首先定义一个StringBuffer的对象,然后再将属性进行拼接,如果是多个的话,用一个标示字段来判断是否有上一个属性被查询,这样就可以保证sql的正确性了。

3.4药品库存保质期到期报警功能问题

采用了如下代码:

if(year>nowyear){

returnfalse;

}elseif(month>nowmonth){

returnfalse;

}elseif(totalInteger>nowday){

returnfalse;

}

通过依次判断年,月,日,来判断是否过期。

第4章使用说明

4.1登陆界面

系统登陆界面如图4.1所示:

图4.1进入系统界面

说明:

该视图为系统的登陆界面,如图示为超市药品信息管理系统,页面共有三个输入框,分别为:

用户名,密码,验证码,在登陆时,管理员,密码,验证码都不准许为空,请输入正确的用户名和密码,并且输入与图片相符的验证码,点击登陆按钮就可以进入该系统,如果对您输入的信息不满意,点击重置按钮,三个输入框将变成空,在用户用相应的用户名密码登陆时,系统会根据该用户的身份进入到不同的管理界面去。

页面还有本系统的使用说明连接,如果用户不了解该系统的使用,可以点击进入学习一下本系统的基本操作。

4.2进入系统首页

系统首页界面如图4.2所示:

图4.2系统首页

说明:

在用户成功登陆后进入到了系统的管理界面,本界面分为三部分,上面的蓝色条为页头记录登陆用户的基本信息,在右上角有退出系统提示,在左边下拉栏的是系统管理员具有的功能操作,包括药品信息管理,药品进销存详单管理,药品信息管理,仓库信息管理,其他参数管理。

右边是欢迎界面,包含了一些该系统的说明及规定信息。

4.3药品信息管理

4.3.1药品信息录入:

该界面是供应商提供的药品信息录入的界面,要求就是输入正确的规X的数据,其中药品规格,药品价格,药品个数都必须是数字且不能为空,仓库必须选择,药品名称不能为空!

药品描述可以添加文件(包括图片),在所有信息输入完成后点击提交按钮,如果提交成功的话,页面将返回到药品列表页面,如果未成功系统会有相关提示。

药品信息更新界面如图4.3所示:

图4.3药品信息录入页面

说明:

该界面是供应商提供的药品信息更新的界面,要求就是输入正确的规X的数据,药品价格,药品规格,药品个数都必须是数字且不能为空,仓库必须选择,药品名称不能为空!

在所有信息输入完成后点击提交按钮,如果提交成功的话,页面将返回到药品列表页面,如果未成功系统会有相关提示。

4.3.2药品信息删除

药品信息删除界面如图4.4所示:

图4.4药品信息删除页面

说明:

如图示,在操作栏中的最后一个操作是对本药品的删除操作,但是用户在对于要删除的药品时需注意一下,如果库存中还有该药品的话系统会提示库存中仍然存在该药品是否确认删除,如果确认删除的话,该药品即可被删除,且是该药品的库存信息也会被删除。

如果取消的话,操作终止。

4.3.3药品信息查询

药品信息查询界面如图4.5所示:

图4.5药品信息查询页面

说明:

如图示,在药品信息查询上,提供了如上几条查询条件,用户在操作时应遵循如下方式,如果用户什么都没有输入的话,点击查询按钮后系统会把所有的药品信息全部显示出来,如果在以上几个输入框中输入数据了的话,系统会根据输入的条件进行查询,即是按照输入条件都满足的情况进行的查询。

其中查询条件有:

药品编号(全匹配),药品名称(全匹配),所在仓库。

4.3.4药品库存管理

该页面是药品库存信息操作界面,并图中可以有两种操作,第一个操作时是对药品库存添加药品的“入库”按钮,一个是将该药品出库的“出库”按钮,当点击添加该药品后或出现如下界面,如图4.6所示:

图4.6药品库存添加页面

说明:

图中有一个添加个数的输入框,输入的值必须为整数,且不能为空!

点击提交后如果成功页面将返回到药品列表界面。

此时会有一条记录药品出库的信息被加入到进销存详单列表中。

图中有一个出库个数的输入框,输入的值必须为整数,不能为空!

如果输入值大于系统中该药品的库存数量,则系统会提示库存量不足的消息,否则跳到药品列表,标示药品出库成功。

此时会有一条记录药品出库的信息被加入到进销存详单列表中。

 

4.3.5药品进销存详单管理

药品进销存详单管理界面如图4.7所示:

图4.7药品进销存详单页面

说明:

如图所示展示的是药品进销存情况,用户在库存管理中的操作一般都记录在该列表中,用户可以查看每一条详单的状态,一种是药品的入库,另一种是药品的出库。

用户还可以修改该信息的备注,查看单条详单具体信息,删除相应订单操作,由于比较直观在此不作说明,其中需要注意的是详单的备注,一般都是在药品入库时加入的,当点击查看或修改按钮时会看到改备注信息,方便用户对药品出入库原因有所了解。

4.4结论

本次课程设计经过测试运行,达到课设预期目标,但由于我有考试的缘故,导致在仓促时间里,没能完成所有功能,例如药品调拨处理,药品流向跟踪这两大功能未能实现。

而其他七大功能:

药品入库处理、药品出库处理、药品调价处理、药品到期报警、药品库缺报警、库存盘点管理和库存分析管理功能已实现,完成课设的预期目标。

第五章参考文献

[1]吴仁群.Java基础教程[M].清华大学,2004

[2]黎连业.计算机管理信息系统设计与实施.[M].中国财政经济,2011

[3]周小彤.Java从入门到精通(第二版)[M].清华大学,2010

[4]X志峰.Java程序设计与项目实训教程[M].清华大学,2012

[5]X新.Java开发技术大全[M].清华大学,2009

[6]萨师煊,王珊.数据库系统概论[M].高等教育,2002

[7]清宏计算机工作室.JAVA编程技巧[M].机械工业,2004

[8]朱红,司光亚.JAVAWeb编程指南[M].电子工业,2001

[9]耿祥义,X跃平.JAVA实用教程[M].清华大学,2003

[10]赛奎春.JAVA工程应用与项目实践[M].机械工业,2002

附录(程序清单)

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""struts.apache.org/dtds/struts-2.1.dtd">

--设置Web应用的默认编码集为UTF-8-->

--设置Web应用的默认Locale为zh_-->

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2