药店管理信息系统报告.docx
- 文档编号:11823040
- 上传时间:2023-04-03
- 格式:DOCX
- 页数:31
- 大小:296.53KB
药店管理信息系统报告.docx
《药店管理信息系统报告.docx》由会员分享,可在线阅读,更多相关《药店管理信息系统报告.docx(31页珍藏版)》请在冰豆网上搜索。
药店管理信息系统报告
成绩
管理信息系统课程设计报告
系统名称药店信息管理系统
班级
管093
姓名
张新萌、
田新驰、
李新雷
学号
04、
06
、12
2011年12月14日
一、系统分析
系统名称:
药店管理信息系统.
开发背景、目的、意义:
随着人们生活水平的提高,健康意识的增强,对医药产品的需求也迅速增加。
药店作为医药产品的主要销售渠道,也处于高速发展时期,同时也加剧了产业间的竞争。
为了加强企业的内部管理,提高运营效率,利用现代信息技术提高企业的管理水平已非常迫切。
另外,由于医药产品种类繁多、销售模式特殊、业务量大,单凭手工记账已很难适应工作的需要。
医药作为一个关系到人们健良的特殊行业,国家对医药行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。
如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。
本课题以提高药店的医药管理水平和效率为目标,建立了管理信息系统。
该系统能集中处理药品的进销存业务及其应付账目,实现了药店的现代化管理。
实现目标:
面对医药行业的高速发展及其发展过程中出现的各种情况,药店管理信息系统在实施后,应能够达到以下目标:
(1)实现多点操作的信息共享,相互之间的信息传递准确,快捷和顺畅。
(2)全面自动化管理,可随时掌握药品的库存、销售等情况。
(3)系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全。
(4)能够快速、准确地处理药品进、销、存、退、盘点、变价、折扣等多种业务模
式。
(5)提供助记码及支持多种结算方式。
(6)系统维护方便可靠,有较高的安全性,满足实用性,先进性的要求。
(5)
系统功能:
本系统由系统设置、日常业务、查询统计、库存管理、基础信息管理五大分系统组成。
主要功能如下:
(1)系统设置:
初期建账,密码设置,数据备份,数据恢复。
(2)日常业务:
入库单,销售单,入库退单,销售退单。
(3)查询统计:
入库查询,销售查询,入库退货查询,销售退货查询。
(5)库存管理:
库存盘点,库存查询,价格管理。
6)基础信息管理:
客户管理,供应商管理。
药店管理信息系统E-R图
M
查询
管理
2.2概念模型
通过对用户需求分析进行综合、归纳与抽象、形成一个独立于具体DBMS的
概念模型。
在本药店管理系统中涉及到了2种概念模型的抽象
聚集模型
概况模型
2.3用例图和顶层数据流图
O
总体分析的用例图
代售
经理与供货商的用例图
顾客与经理间的用例图
填好的仓
库信息
仓库信息
真写仓库
信息
仓库信息
仓库
药品信息
填好的药
品信息
药品信息
填写药品
信息
药品来自
编好号的采购单
顾客信息
确认的消费单
2.0处理
消费单
*■顾客
所购药品
确定未付款的消费单
填写
药品
采购单信息
所需药品
领取
顾客
凭盖好章的消费单
依据消费单上的药品歹U表为
所需药品
3.0
采购
依据信息
经理信息
经理
交易金额
确认收货
已编过号的消费单
消费单信息
付款后进行
未处理的消费单
填写经理
信息
1.0
付款
填好的经
理信息
经理信息
顶层数据流图
1.系统总体设计
(1)分解的数据流图
处理消费
处理采购
组织结构或数学方法、构造模型。
药店管理信息系统
二、系统设计
说明:
系统设计较为复杂,源程序代码较长,所以报告中只摘录了一小部分程序代码,其余代码详见程序中,程序先进入登陆界面,登陆后进入主界面,登陆到主界面后即可点击进入相应的窗口。
该系统采用Access数据库,数据库名称为yyjxc,它包括以下8个表:
供应商基础信息表gys,库存表kc,客户基础信息表kh,入库表rkd,入库退单表rktd,密码表ma,销售表xsd,销售退单表xstd。
1、系统登录模块及主程序界面设计
(1)系统登录模块(窗体名:
系统登录.frm)
---jfe覩所有-:
aooo-&oia--:
:
:
:
:
源程序代码较长,此处省略,详见程序中
实现目标:
程序启动后,首先进入系统登录界面验证操作员密码。
其实现的功能如下:
a.可选择操作员,支持鼠标和键盘操作
b.操作员和密码验证成功后,进入主界面
c.操作员错误或密码错误提醒并返回错误点。
d.输入三次错误的密码,系统自动退出
(2)主程序界面设计(窗体名:
主界面.frm)
Dimx,yAsString
IfTextl.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.mf1.CellWidth<=0Ormyform.mf1.CellHeight<=0ThenExitSub
x=myform.mf1.TextMatrix(myform.mf1.FixedRows,myform.mf1.Col)
y=myform.mf1.TextMatrix(myform.mf1.Row,0)
Ify<>""Then
Ifmyform.mf1.Col-myform.mfl.LeftCol<=3Then
myform.mfl.LeftCol=myform.mfl.LeftCol+1
EndIf
Ifmyform.mf1.CellWidth>0Andmyform.mf1.CellHeight>0Thenmyform.Text1.Width=myform.mf1.CellWidthmyform.Text1.Height=myform.mf1.CellHeightmyform.Text1.Left=myform.mf1.CellLeft+myform.mf1.Leftmyform.Text1.Top=myform.mf1.CellTop+myform.mf1.Top
EndIf
x=myform.mf1.TextMatrix(myform.mf1.FixedRows,myform.mf1.Col)
y=myform.mf1.TextMatrix(myform.mf1.Row,0)
p=myform.mf1.TextMatrix(myform.mf1.Row,myform.mf1.Col)myform.Text1.Text=myform.mf1.Text
myform.Text1.SelStart=0
myform.Text1.SelLength=Len(myform.Text1.Text)
EndIf
EndSub
PublicSubmoveright()
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.Text1.Text<>""Then
myform.Text1.SelStart=0myform.Text1.SelLength=Len(myform.Text1.Text)
EndIf
Ifmyform.mf1.Col+1<=myform.mf1.Cols-1Then
myform.mf1.Col=myform.mf1.Col+1
Else
Ifmyform.mf1.Row+1<=myform.mf1.Rows-1Thenmyform.mf1.Row=myform.mf1.Row+1myform.mf1.Col=1
EndIf
EndIf
EndSub
PublicSubmoveleft()
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.Text1.Text<>""Then
myform.Text1.SelStart=0myform.Text1.SelLength=Len(myform.Text1.Text)
EndIf
Ifmyform.mf1.Col-11<=myform.mf1.Cols+1Then
myform.mf1.Col=myform.mf1.Col-1
Ifmyform.mf1.Col=0Thenmyform.mf1.Col=1
Else
Ifmyform.mf1.Row+1<=myform.mf1.Row-1Thenmyform.mf1.Row=myform.mf1.Row+1myform.mf1.Col=1
EndIf
EndIf
EndSub
PublicSubmovereturn()
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.mf1.Col=10Then
myform.mf1.Row=myform.mf1.Row+1myform.mf1.Col=1
Else
Ifmyform.mf1.Col+1<=myform.mf1.Cols-1Thenmyform.mf1.Col=myform.mf1.Col+1
Else
Ifmyform.mf1.Row+1<=myform.mf1.Rows-1Thenmyform.mf1.Row=myform.mf1.Row+1myform.mf1.Col=1
EndIf
EndIf
EndIf
EndSub
PrivateSubForm_Load()
'在标题栏上显示软件名称及版本
Me.Caption=App.Title&"版本:
V"&App.Major&"."&App.Minor&"."&App.Revision
DimiAsInteger'定义一个整型变量
Fori=0To1
Label1(i).Caption=App.Title
Nexti
Label2.Caption="版本:
V"&App.Major&"."&App.Minor&"."&App.Revision
EndSub
PrivateSubrkd_Click()'调入入库单
Loadmain_rcyw_rkmain_rcyw_rk.Showfrm_main.Enabled=False
EndSub
PrivateSubxsd_Click()'
Loadmain_rcyw_xsmain_rcyw_xs.Showfrm_main.Enabled=False
EndSub
PrivateSubxsth_Click()'
Loadmain_rcyw_xstdmain_rcyw_xstd.Showfrm_main.Enabled=False
EndSub
PrivateSubrkth_Click()'
Loadmain_rcyw_rktdmain_rcyw_rktd.Showfrm_main.Enabled=False
EndSub
PrivateSubkccx_Click()'Loadmain_kcgl_kccxmain_kcgl_kccx.Showfrm_main.Enabled=False
EndSub
PrivateSubkcpd_Click()'Loadmain_kcgl_kcpdmain_kcgl_kcpd.Showfrm_main.Enabled=False
EndSub
PrivateSubjggl_Click()'
Loadmain_kcgl_jgglmain_kcgl_jggl.Showfrm_main.Enabled=False
EndSub
PrivateSubrkcx_Click()'
Loadmain_rqDialogmain_rqDialog.Showmain_rqDialog.Text1.Text="0"frm_main.Enabled=False
EndSub
PrivateSubthfccx_Click()'Loadmain_rqDialogmain_rqDialog.Showmain_rqDialog.Text1.Text="1"frm_main.Enabled=False
EndSub
PrivateSubxscx_Click()'
Loadmain_rqDialogmain_rqDialog.Showmain_rqDialog.Text1.Text="2"frm_main.Enabled=False
EndSub
PrivateSubxsthcx_Click()'Loadmain_rqDialogmain_rqDialog.Showmain_rqDialog.Text1.Text="3"frm_main.Enabled=False
EndSub
PrivateSubgysgl_Click()'
调入销售单
调入销售退货
调入退货返厂
调入库存查询
调入库存盘点
调入价格管理
调入入库查询
调入退货返厂
调入销售查询
调入销售退货查询
调入供应商管理
Loadmain_jbxx_gysmain_jbxx_gys.Showfrm_main.Enabled=False
EndSubPrivateSubkhgl_Click()'
Loadmain_jbxx_khmain_jbxx_kh.Showfrm_main.Enabled=False
EndSub
PrivateSubcqjz_Click()'
Loadmain_xt_cqjzmain_xt_cqjz.Showfrm_main.Enabled=False
EndSub
PrivateSubmmsz_Click()Loadmain_xt_mmszmain_xt_mmsz.Showfrm_main.Enabled=False
EndSub
PrivateSubsjbf_Click()'
Loadmain_xt_sjbfmain_xt_sjbf.Showfrm_main.Enabled=False
EndSub
PrivateSubsjhf_Click()'Loadmain_xt_sjhfmain_xt_sjhf.Showfrm_main.Enabled=False
EndSub
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
CaseIs="rkd"rkd_Click
CaseIs="xsd"xsd_Click
CaseIs="xscx"xscx_Click
CaseIs="kccx"kccx_Click
CaseIs="gys"gysgl_Click
CaseIs="kh"khgl_Click
CaseIs="cqjz"cqjz_Click
EndSelect
EndSub实现目标:
密码验证成功后,进入程序主界面。
其实现的功能如下:
a.选择主界面的菜单或工具栏,调用相应程序,进行相应操作。
b.显示开发者信息、系统日期和时间。
调入客户管理
调入初期建帐
调入密码设置
调入数据备份
调入数据恢复
调入入库单
调入销售单
调入销售查询
调入库存查询
调入供应商管理
调入客户管理
调入初期建帐
2、日常业务设计
(1)入库单模块设计(窗体名:
入库单.frm)
程序代码过长,内容较多,详见程序中
程序启动后,选择“日常业务”菜单下的“入库单”项,将进入入库单模块。
其实现的功能如下:
a.完成药品入库工作,入库采用智能化表单式录入。
b.自动生成入库票号,可利用键在列表框中选择供应商信息
c.系统自动统计入库品种、入库数量、入库金额。
(2)销售单模块设计(窗体名:
销售单.frm)
程序代码过长,内容较多,详见程序中
程序启动后,选择“日常业务”菜单下的“销售单”项,将进入销售单模块。
其实现的功能如下:
a.完成药品销售的功能。
b.自动生成销售票号、销售日期;统计销售品种、销售数量、销售金额。
c.根据商品名称或简称自动检索相应的商品信息。
(3)销售退单模块设计(窗体名:
销售退单.frm)
程序代码过长,内容较多,详见程序中
程序启动后,选择“日常业务”菜单下的“销售退单”项,将进入销售退单模块。
其实现的功能如下:
a.完成药品销售退货功能。
b.自动生成销售退单票号、销售退单日期;统计退货品种、退货数量、退货金额。
c.根据商品名称或简称自动检索相应的商品信息。
3、库存管理设计
(1)库存查询模块设计(窗体名:
库存查询.frm)
PrivateSubForm_Activate()
'向combo1添加查询项目列表
Combo1.AddItem("商品名称")
Combo1.Addltem("简称")
Combo1.Addltem("批号")
Combo1.ListIndex=0
EndSub
PrivateSubForm_Load()
Data1.DatabaseName=App.Path&"\yyjxc.mdb"'自动识别数据库路径
EndSub
PrivateSubForm_Unload(CancelAsInteger)
frm_main.Enabled=True
EndSub
PrivateSubCommand1_Click()
'查询库存信息
Data1.RecordSource="select*fromkcwhere(kc."&Combol.Text&""&"like
"+Chr(34)+Textl.Text+"*"+Chr(34)+")"
Datal.Refresh
EndSub
PrivateSubCommand2_Click()'删除库存信息
OnErrorResumeNext
Datal.Recordset.Delete
Datal.Refresh
Data2.Refresh
EndSub
PrivateSubCommand3_Click()
frm_main.Enabled=True
UnloadMe
EndSub
程序启动后,选择“库存管理”菜单下的“库存查询”项,将进入库存查询模块。
其实现的功能如下:
a.选择字段查询库存商品信息,可模糊查询。
b.删除库存商品信息。
(2)库存盘点模块设计(窗体名:
库存盘点.frm)
PrivateSubForm_Activate()
'设置ms1表格的列宽
MSI.ColWidth(O)=12*25*0:
MSI.ColWidth(l)=12*25*8
MS1.ColWidth
(2)=12*25*0:
MS1.ColWidth(5)=12*25*5
MS1.ColWidth(9)=12*25*3:
MS1.ColWidth(10)=12*25*0EndSub
PrivateSubForm_Load()
Data1.DatabaseName=App.Path&"\yyjxc.mdb"'EndSub
PrivateSubForm_Unload(CancelAsInteger)frm_main.Enabled=True
EndSub
PrivateSubCommand1_Click()
自动识别数据库路径
盘点库存大于零的库存信息
Data1.RecordSource="select*fromkcwherekc.Data1.Refresh
MS1.Col=9:
MS1.Sort=flexSortNumericAscendingEndSub
PrivateSubCommand2_Click()
frm_main.Enabled=True
UnloadMe
EndSub
PrivateSubMS1_Click()
EndSub
库存>0"
'第9行按升序排序
程序启动后,选择“库存管理”菜单下的“库存盘点”项,将进入库存盘点模块。
其实
现的功能是盘点库存商品信息。
(3)价格管理模块设计(窗体名:
价格管理.frm)
PublicSubeval()'
IfData2.Recordset(0)
="0"
IfData2.Recordset
(1)
定义赋值函数
<>""Thenpz.Caption=Data2.Recordset(0)Elsepz.Caption
<>""Thenhjsl.Caption=Data2.Recordset
(1)Elsehjsl.Caption="0"
IfDa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 管理信息系统 报告