毕业设计药品管理系统的设计与实现.docx

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

毕业设计药品管理系统的设计与实现.docx

《毕业设计药品管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计药品管理系统的设计与实现.docx(64页珍藏版)》请在冰点文库上搜索。

毕业设计药品管理系统的设计与实现.docx

毕业设计药品管理系统的设计与实现

目录

药品管理系统的设计与实现

专业:

计算机科学与技术学号:

姓名:

指导老师:

【内容摘要】

社会在进步,随之而来的还有各种疾病,随着人们生活水平的不断提高,人们越来越重视自己的健康,这加速了医药行业的发展。

在现在“看病难,看病贵”的社会背景下,很多工薪一族在面对一些小疾病的时候往往选择到附近的药店购买非处方药进行治疗。

在这种情况下,中小型便民药店越来越多,而中小型药店普遍存在药品管理混乱等问题,容易造成药品积压甚至失效,导致不必要的损失。

本药品管理系统主要围绕药品管理来操作,根据需求,系统主要实现药品库存管理、销售管理两大业务,为用户提供任意时间段的药品库存查询,设置药品库存下限查询。

同时还向用户提供了库存报表、销售报表、即将过期药品报表、利润报表等丰富的报表。

系统使用Microsoft公司的VisualStudio2010平台,采用C#语言,结合SQLServer2008数据库进行设计与实现。

系统经过测试基本达到了预期的目标,操作界面较友好,操作方法简单,可以用于中小型药店的药品管理。

【关键词】中小型药店;药品管理;C#

1绪论

1.1课题研究背景

药品管理系统可以为药店管理者提供充足的信息和快捷的查询手段。

但一直以来很多中小型药店都使用传统手工的方式进行管理,这种管理方式存在着许多缺点,如效率低、数据易丢失等,容易造成药品积压甚至失效。

另外时间一长,将产生大量的纸质版数据,这对于查询、修改都造成很大不便。

使用计算机对药品进行管理相对于手工管理而言,具有很多优点。

例如:

查询方便快捷、数据存储量大等。

这些优点能够极大地提高了药品管理的效率,也能更好地保证药品的效期安全,是对消费者负责的态度体现。

因此,开发一套适用于中小型药店的药品管理系统管理软件很有必要。

1.2系统开发的意义

中国现在的医药体系还不成熟,药品管理系统也不成熟。

在国内有很多软件公司开发药品管理系统,基本采用进销存模式,系统功能比较完善,但在安全、简捷、性能以及人性化设计方面还存在不足。

2需求分析

2.1系统功能分析

药店的正常运转货源要得到保证,这就必须有着良好的进货入库管理功能,同时为了药品质量的保证,以及在未知药品销量时可以保证药店不至于积存大量的药品,对一些积存的药品进行合理的退货。

作为药店盈利机构,药店的销售是非常重要,同时要求透明化,药店的入库单、销售单、退货信息都必须合理的记录统计。

药品的存货是药店进行正常运行的保证同时合理的库存量更好的应对某些药品需求量的变化,同时记录药品出库信息可以更好的反应药品的销售信息。

在仓库中药品的储藏出现的损失,通过记录的信息可以精准核对药品量的信息。

同时在仓库储存中应设置药品的库存下限,以便及时反映药品的信息,为药品进货提供可靠依据。

药品,是药店的资源。

药品的管理直接影响药店的经营,药品管理做得不好会引起药品的混乱,容易导致药品失效,造成损失。

为了维护消费者的利益和药店本身的信誉以及给药店创造更好的效益,本系统应具有以下功能:

1.

良好的人机界面。

2.药品入库及调价管理。

3.药品销售及退货管理。

4.药品报损管理。

5.完善的数据查询。

6.丰富的报表。

7.数据导出到Excel、Word、PDF功能。

2.2系统用例分析

根据系统功能分析,可以将系统细分出药品信息管理、药店信息管理、修改密码、入库登记、药品调价、销售登记、药品退货、药品效期查询、药品报损、收入统计、支出统计、利润统计以及用户管理13个子模块,管理员应为药店负责人,从药品入库到销售以及中间的业务,管理员都可以使用,收银员可以使用部分功能,管理员用例图如图1所示,收银员用例图如图2所示。

图1管理员用例图

图2收银员用例图

2.3系统E-R图

图3系统E-R图

2.4运行环境

该系统采用了Client/Server模式软件构造技术,页面系统采用VisualStudio2010开发,数据库采用SQLServer2008作为数据库系统,系统平台为Windows7。

1.MicrosoftVisualStudio2010集成化程度高,控件丰富,开发人员可以直接将各种控件拖放到视图设计器,由软件自动生成控件设计以及窗体布局的设计代码,窗体视图设计更加方便高效

2.MicrosoftSQLServer2008能方便地建立数据库对象,并且SQLServer2008结合VisualStudio2010和C#一起使用,能方便地对数据库对象进行数据操作。

2.5可行性分析

2.5.1技术可行性

1.药店管理的主线是药品,药品从入库到出库以及其它操作即从药店流向消费者的过程,中间不用经过其他部门,没有繁琐的流程。

加上到药店的了解,对于药品管理系统的管理流程和管理内容都易于掌握。

2.作为计算机专业的学生,在平时的课程设计的基础上,加上自己的练习以及同学们的帮助,在系统实现上也是可行的。

3.计算机可以安装本系统所需的开发环境SQLServer2008和Visualstudio2010。

2.5.2经济可行性

1.本系统主要面向中小型药店,处理的数据量不是很大,属于小型的系统,只需要购买打印机、电脑即可投入使用,成本低。

2.系统投入使用后可以很好地对药品进行管理,在给药店创造更好的效益的同时有效避免药品积压甚至失效的问题,减少药店损失。

3系统概要设计

3.1功能模块设计

根据系统的需求分析可以将药品管理系统分为如下几个大模块:

登录模块基本信息模块、入库管理模块、销售管理模块,以及库存管理模块、利润统计模块和关于我们模块。

整个系统以药品的主线,入库管理模块是把药品信息存入库存表,其它药品管理相关模块是从库存表取得数据进行业务处理,系统模块结构图如图3所示。

图4系统功能模块结构图

3.2概念结构设计

3.2.1实体属性图

1.药品实体属性图,如图5所示。

药品的属性包括药品的基本信息,如药品编号、药品名称、拼音、药品规格、计量单位、库存低限等。

其中药品编号可以唯一标识药品。

图5药品实体属性图

2.药店实体属性图,如图6所示。

药店实体包含药店名称、固定电话、手机、药店地址4个基本属性,作为药店标识并用于打印小票。

图6药店实体属性图

3.药品入库单实体属性图,如图7所示。

药品与一般商品稍有不同,很多属性都关系到药品的安全,所以入库单包含很多属性,如入库编号、拼音码、药品名称、药品规格、计量单位、批号、批准文号、入库单价、入库数量、入库总额、入库时间、入库单位、生产厂家、生产日期、失效日期、操作员、备注等17个基本属性。

其中入库编号可唯一标识药品入库信息。

图7药品入库单实体属性图

4.药品调价单实体属性图,如图8所示。

药品调价单包含调价编号、入库编号、拼音码、药品名称、原单价、新单价、经办人、调价时间等基本属性。

图8药品调价单实体属性图

5.药品销售单实体属性图,如图9所示。

药品销售单包含销售编号、入库编号、拼音码、药品名称、药品规格、计量单位、生产厂家、销售时间、销售单价、销售数量、销售总额、操作员等基本属性。

图9药品销售单实体属性图

6.药品退货单实体属性图,如图10所示。

药品退货单包含退货编号、入库编号、拼音码、药品名称、进货单位、进货单价、退货原因、退货时间、退货数量、退货总额、操作员等基本属性。

图10药品退货单实体属性图

7.药品报损单实体属性图,如图11所示。

药品报损单包含报损编号、入库编号、拼音码、药品名称、进货单价、报损原因、报损时间、报损数量、报损总额、操作员等基本属性。

图11药品报损单实体属性图

8.用户实体属性图,如图12所示。

用户实体包含用户编号、用户名、密码、用户姓名、是否管理员5个基本属性。

图12用户实体属性图

3.3数据表设计

本系统使用SQLServer2008作为后台数据库,在SQLServer2008中创建基本表对象。

表对象要根据逻辑设计阶段设计的关系模式来创建。

本系统创建的SQL数据库名称为DrugStore。

包含以下9张表。

1.Login(用户信息表)

用户信息表用于用户信息,该表的结构如表1所示。

表1用户信息表

字段名

数据类型

长度

备注

说明

u_id

int

4

Notnull

用户编号(自动编号)

username

varchar

50

主键

用户名

pw

varchar

50

Notnull

密码

realname

varchar

50

Notnull

用户姓名

admin

varchar

50

Notnull

是否管理员

2.Store(药店信息表)

药店信息表用于存储药店的信息,该表的结构如表2所示。

表2药店信息表

字段名

数据类型

长度

备注

说明

storename

varchar

50

Notnull

药店名称

tel

varchar

50

Notnull

固定电话

mobile

varchar

50

手机

address

varchar

50

Notnull

药店地址

3.Drug(药品信息表)

药品信息表用于药品的基本信息,该表的结构如表3所示。

表3药品信息表

字段名

数据类型

长度

备注

说明

id

int

4

主键

药品编号(自动编号)

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品名称

spec

varchar

50

Notnull

药品规格

unit

varchar

50

Notnull

计量单位

lowwarning

int

4

Notnull

库存低限

4.Ruku(入库信息表)

入库信息表用于存储药品进货入库的各项信息,该表的结构如表4所示。

表4入库信息表

字段名

数据类型

长度

备注

说明

ID

varchar

20

主键

入库编号(自动编号)

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品名称

pihao

varchar

50

Notnull

批号

pizhunwenhao

varchar

50

Notnull

批准文号

spec

varchar

50

Notnull

药品规格

unit

varchar

50

Notnull

计量单位

amount

int

4

Notnull

进货数量

inprice

decimal(18,2)

Notnull

进货单价

allprice

decimal(18,2)

Notnull

进货总额

in_time

datetime

Notnull

进货时间

in_from

varchar

50

Notnull

进货单位

factory

varchar

50

Notnull

生产厂家

producedate

datetime

Notnull

生产日期

usefuldate

datetime

Notnull

失效日期

in_by

varchar

50

Notnull

操作员

remark

varchar

50

备注

5.Kucun(库存信息表)

库存信息表用于存储药品库存的各项信息,该表的结构如表5所示。

表5库存信息表

字段名

数据类型

长度

备注

说明

ID

varchar

20

主键

入库编号(自动编号)

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品名称

factory

varchar

50

Notnull

生产厂家

spec

varchar

50

Notnull

药品规格

unit

varchar

50

Notnull

计量单位

amount

int

4

Notnull

入库数量

pihao

varchar

50

Notnull

批号

pizhunwenhao

varchar

50

Notnull

批准文号

lowwarning

int

4

Notnull

库存低限

inprice

decimal(18,2)

Notnull

进货单价

sellprice

decimal(18,2)

Notnull

销售单价

in_time

datetime

Notnull

入库时间

producedate

datetime

Notnull

生产日期

usefuldate

datetime

Notnull

失效日期

in_by

varchar

50

Notnull

操作员

6.Sell(销售信息表)

销售信息表用于存储售出药品的信息,该表的结构如表6所示。

表6销售信息表

字段名

数据类型

长度

备注

说明

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品名称

factory

varchar

50

Notnull

生产厂家

sellprice

decimal(18,2)

Notnull

销售单价

sellamount

int

4

Notnull

销售数量

allprice

decimal(18,2)

Notnull

销售总额

s_id

varchar

20

Notnull

销售编号(自动编号)

selltime

datetime

Notnull

销售时间

sell_by

varchar

50

Notnull

操作员

ID

varchar

20

Notnull

入库编号(自动编号)

spec

varchar

50

Notnull

药品规格

unit

varchar

50

Notnull

计量单位

7.ReturnG(退货信息表)

退货信息表用于存储退货的药品的各项信息,该表的结构如表7所示。

表7退货信息表

字段名

数据类型

长度

备注

说明

r_id

varchar

20

主键

退货编号(自动编号)

ramount

int

4

Notnull

退货数量

totalprice

decimal(18,2)

Notnull

退货总额

rtime

datetime

Notnull

退货时间

return_by

varchar

50

Notnull

操作员

reason

varchar

50

Notnull

退货原因

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品名称

ID

varchar

20

Notnull

入库编号(自动编号)

inprice

decimal(18,2)

Notnull

入库单价

factory

varchar

50

Notnull

进货单位

8.Breakage(报损信息表)

报损信息表用于存储已报损的药品的各项信息,该表的结构如表8所示。

表8报损信息表

字段名

数据类型

长度

备注

说明

b_id

varchar

20

主键

报损编号

bamount

int

4

Notnull

报损数量

btime

datetime

Notnull

报损时间

breakage_by

varchar

50

Notnull

操作员

reason

varchar

50

Notnull

报损原因

ID

varchar

20

Notnull

入库编号

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品编号

inprice

decimal(18,2)

Notnull

入库单价

allprice

decimal(18,2)

Notnull

报损总额

9.Adjustprice(调价信息表)

调价信息表用于存储药品调价的记录,该表的结构如表9所示。

表9调价信息表

字段名

数据类型

长度

备注

说明

adjust_id

varchar

20

主键

调价编号

ID

varchar

20

Notnull

入库编号

pinyinma

varchar

50

Notnull

拼音码

drugname

varchar

50

Notnull

药品名称

oldprice

decimal(18,2)

Notnull

原单价

newprice

decimal(18,2)

Notnull

新单价

adjust_time

datetime

Notnull

调价时间

adjust_by

varchar

50

Notnull

操作员

4系统详细设计与实现

4.1功能模块的具体实现

4.1.1登录模块

为保证信息安全,设置必须进行识别用户才可进入系统主界面。

用户名及密码其中任一个错误都会有相应的提示信息,并自动清空用户名和密码。

只有两者全部正确后方可进入管理系统主界面。

用户登录模块流程图如图13所示。

图13用户登录模块流程图

登录界面如图14所示。

图14登录界面

主要代码如下:

publicstaticstringflagUsername=null;

publicstaticstringflagPassword=null;

publicstaticstringflagAdmin=null;

privatevoidbtnLogin_Click(objectsender,EventArgse)

{

stringstrUsn=this.userName.Text;

stringstrPsw=this.txtpsw.Text;

try

{

SqlConnectionsc=newSqlConnection(@"server=.\SQLEXPRESS;database=DrugStore;Trusted_Connection=true");

stringsqlstring="select*fromLoginwhereusername='"+strUsn+"'";

SqlCommandcmd=newSqlCommand(sqlstring,sc);

sc.Open();

SqlDataReaderdr=cmd.ExecuteReader();

if(dr.Read())

{

if(dr["pw"].ToString()==strPsw)

{

this.DialogResult=DialogResult.OK;

flagUsername=strUsn;//取得登录用户名

flagPassword=strPsw;//取得登录密码,用于修改密码时对比

flagAdmin=dr["admin"].ToString();//取得用户类型,是否管理员

}

else

{

MessageBox.Show("密码错误!

");

}

dr.Dispose();

sc.Close();

}

else

{

if(userName.Text=="")

{

MessageBox.Show("请输入用户名");

}

else

{

MessageBox.Show("该用户名不存在");

}

dr.Dispose();

sc.Close();

}

}

catch(Exceptionex)

{MessageBox.Show("点击按钮事件异常:

\n"+ex.ToString());}

this.userName.Text=null;

this.txtpsw.Text=null;}

4.1.2系统主界面设计

系统主界面中,点击左侧的不同按钮会在右侧的panel容器中显示不同的窗体,点击按钮时,会判断是否有权限,并且文字颜色会以红色突出显示,十分美观友好,系统功能都有很明显的入口。

单击各功能按钮,会进入相应子窗口。

如图15所示。

图15系统主界面

把窗体显示到panel容器的代码(以利润统计按钮为例):

privatevoidbtnReport_Click(objectsender,EventArgse)//只有管理员有权限

{

if(frm_Login.flagAdmin=="管理员")

{

if(panel3.Tag!

=null&&panel3.TagisForm)

{

((Form)panel3.Tag).Close();

}

frm_Reportform5=newfrm_Report();

form5.TopLevel=false;

form5.Parent=panel3;

panel3.Tag=form5;

form5.Show();

}

else

{

MessageBox.Show("没有这个权限!

");

}

}

按钮的文字颜色会以红色突出显示的代码(以利润统计按钮为例):

privatevoidbtnReport_Enter(objectsender,EventArgse)

{

this.label6.Visible=true;

btnReport.ForeColor=Color.Red;

}

privatevoidbtnReport_Leave(objectsender,EventArgse)

{

this.label6.Visible=false;

b

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

当前位置:首页 > 经管营销 > 经济市场

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

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